题解 | #最长上升子序列(一)#
最长上升子序列(一)
https://www.nowcoder.com/practice/5f65ccbb025240bd8458eb6479c2612e
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); final int NUM = in.nextInt(); int[] arr = new int[NUM]; int[] f = new int[NUM]; for (int i = 0; i != NUM; ++i) { arr[i] = in.nextInt(); f[i] = 1; } int result = 0; for (int i = 1; i != NUM; ++i) { for (int j = 0; j != i; ++j) { if (arr[i] > arr[j]) { f[i] = Math.max(f[i], f[j] + 1); } } if (f[i] > result) result = f[i]; } System.out.println(result); } }