// Class: Main.java
// Description; input and output
// Course CSE205
// Assignment: Project 1
import java.util.ArrayList;
import java.util.List;
public class Main {
static List<Integer> getIncreasingSequence(int[] arr)
{
List<List<Integer>> up = new ArrayList<>();
for (int i = 0; i < arr.length; i++){
up.add(new ArrayList<>());
}
up.get(0).add(arr[0]);
for (int i = 1; i < arr.length; i++) {
for (int j = 0; j < i; j++){
if(arr[i]>arr[j] && up.get(i).size() < up.get(j).size() +
1){
up.set(i, new ArrayList<>(up.get(j)));
}
}
up.get(i).add(arr[i]);
}
List<Integer> upSequence = up.get(0);
for (int i = 0; i <up.size(); i++)
{
if (upSequence.size() < up.get(i).size()) {
upSequence = new ArrayList<>(up.get(i));
}
}
return upSequence;
}
static List<Integer>getDecreasingSequence(int[] segment)
{
List<List<Integer>>down = new ArrayList<>();
for (int i =0; i < segment.length; i++)
{
down.add(new ArrayList<>());
}
down.get(0).add(segment[0]);
for (int i =1; i < segment.length; i++)
{
for(int j = 0; j<i;j++)
{
if(segment[i]<segment[j] &&
down.get(i).size()<down.get(j).size()+1)
{
down.set(i, new ArrayList<>(down.get(j)));
}
}
down.get(i).add(segment[i]);
}
List<Integer>downSequence = down.get(0);
for(int i = 0;i<down.size();i++) {
if (downSequence.size()<down.get(i).size()) {
downSequence = new ArrayList<>(down.get(i));
}
}