public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int n=scanner.nextInt(); int arr[]=new int [n]; for (int i = 0; i < arr.length; i++) { arr[i]=scanner.nextInt(); } int []dp=new int [arr.length]; int res=0; for (int i = 0; i < dp.length; i++) { dp[i]=1; } for (int i = 0; i < dp.length; i++) { for (int j = 0; j <i; j++) { if (arr[i]>arr[j]) { dp[i]=Math.max(dp[i],dp[j]+1); } } if(dp[i]>res) { res=dp[i]; } } System.out.println(res); }
解题思路:
注意事项:
参考代码:
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题9.3 (C++代码)浏览:674 |
校门外的树 (C语言代码)浏览:718 |
C语言程序设计教程(第三版)课后习题12.5 (C语言代码)浏览:834 |
永远的丰碑 (C语言代码)浏览:656 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1886 |
简单的a+b (C语言代码)浏览:552 |
A+B for Input-Output Practice (II) (C语言代码)浏览:1004 |
WU-复数求和 (C++代码)浏览:2016 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:546 |
【求[X,Y]内被除3余1并且被除5余3的整数的和】 (C语言代码)浏览:677 |