Appearance
300最长上升子序列
code
javascript
/**
* @param {number[]} nums
* @return {number}
*/
var lengthOfLIS = function(nums) {
let max = 1;
let dp = new Array(nums.length).fill(1);
dp[0] = 1;
// dp[i] 是以dp[i-1]之前的 + 1
for(let i = 1; i < nums.length; i++){
for(let j = i - 1; j >= 0; j--){
if(nums[i] > nums[j]){
dp[i] = Math.max(dp[i], dp[j] + 1);
max = Math.max(max, dp[i]);
}
}
}
return max;
};总结
- 双dp能写,但是这个无论是难度还是频率都是极高价值问题,要搞一搞