题目:
解析: 这里dp[i]写错了:到 i 位置所有子序列中,最长递增子序列的长度
代码:
public int lengthOfLIS(int[] nums) {
int n = nums.length;
int[] dp = new int[n];
int ret = 1;//最坏情况为1
//初始化
for(int i = 0; i < n; i++) dp[i] = 1;
for(int i = 1; i < n; i++){
for(int j = 0; j <= i-1; j++)
if(nums[j] < nums[i])
dp[i] = Math.max(dp[j]+1,dp[i]);//j位置有很多处于变化的子序列
ret = Math.max(ret,dp[i]);
}
return ret;
}