解题思路:
dp[ i ]表示以nums[ i ]结尾的最长递增子序列的长度,但最长的子序列长度不一定是以nums[ i ]结尾的,所以要用一个max记录最大值
class Solution {
public int lengthOfLIS(int[] nums) {
int max = 1;
int[] dp = new int[nums.length];
Arrays.fill(dp, 1);
for (int i = 1; i < nums.length; i++) {
for (int j = 0; j < i; j++) {
if (nums[j] < nums[i]) {
dp[i] = Math.max(dp[i], dp[j] + 1);
}
max = Math.max(max, dp[i]);
}
}
return max;
}
}