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; }