Calculate length of the longest increasing subsequence -DP
JavaScript
function lengthOfLIS(nums) {
let LIS = new Array(nums.length).fill(1)
for (let start = nums.length - 1; start >= 0; start--) {
for (let end = start + 1; end < nums.length; end++) {
if (nums[start] < nums[end]) {
console.log(nums[start], nums[end],LIS[start], LIS[end],LIS);
LIS[start] = Math.max(LIS[start], 1 + LIS[end]);
}
}
}
return Math.max(...LIS)
}
console.log(lengthOfLIS([9,1,4,2,3,3,7]))