题解 | #Redraiment的走法#
Redraiment的走法
https://www.nowcoder.com/practice/24e6243b9f0446b081b1d6d32f2aa3aa
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { test103(); } public static void test103() { Scanner in = new Scanner(System.in); while (in.hasNext()) { int n = in.nextInt(); //高度 List<Integer> list = new ArrayList<>(); for (int i = 0; i < n; i++) { list.add(in.nextInt()); } // 求最长升序数组 int[] db = new int[n]; for (int i = 0; i < list.size(); i++) { db[i] = 1; for (int j = 0; j < i; j++) { if (list.get(j) < list.get(i)) { db[i] = Math.max(db[i], db[j] + 1); } } } int max = 1; for (int i = 0; i < db.length; i++) { max = Math.max(max, db[i]); } System.out.println(max); } } }