使用状态矩阵:
private static int LIS(int[] nums) {
// TODO Auto-generated method stub
int len=nums.length;
if(len<=1) {
return 1;
}
int[] dp=new int[len];
for (int i = 0; i < dp.length; i++) {
dp[i]=1;
}
for(int i=1;i<len;++i) {
for(int j=0;j<i;++j) {
if(nums[j]<nums[i]) {
dp[i]=Math.max(dp[i], dp[j]+1);
}
}
}
int max=1;
for(int n:dp) {
max=Math.max(max, n);
}
return max;
}