import java.util.Scanner;
public class Main {
static int fun(int arr[]) {
int ans = 0;
int dp[] = new int[arr.length];
for(int i = 0; i < arr.length ; i++) {
dp[i] = 1;
for (int j = 0; j < i; j++) {
if (arr[j] < arr[i]) {
dp[i] = Math.max(dp[i], dp[j] + 1);
}
}
ans = Math.max(ans, dp[i]);
}
return ans;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int arr[] = new int[n];
for(int i = 0; i < n; i++) {
arr[i] = in.nextInt();
}
System.out.println(fun(arr));
in.close();
}
}
2.最长不上升子序列
import java.util.Scanner;
public class Main {
static int fun(int arr[]) {
int ans = 0;
int dp[] = new int[arr.length];
for(int i = 0; i < arr.le
1.最长上升子序列import java.util.Scanner;public class Main { static int fun(int arr[]) { int ans = 0; int dp[] = new int[arr.length]; for(int i = 0; i < arr.length ; i++) { dp[i] = 1;...