public int LIS (int[] arr) {
// write code here
if(arr.length==1) return 1;
int[] dp=new int[arr.length];
Arrays.fill(dp,1);//这句话很重要,不是所有的初始化都是dp[0],dp[1]
int res=0;
for(int i=0;i<arr.length;i++){
for(int j=0;j<i;j++){
if(arr[j]<arr[i]&&dp[i]<dp[j]+1){
dp[i]=dp[j]+1;
res=Math.max(res,dp[i]);
}
}
}
return res;
}



京公网安备 11010502036488号