How to find the longest increasing not sorted subsequence (LIS) of a sequence of numbers in Node.js

1 Answer

0 votes
function longestIncreasingSubsequence(nums) {
    if (!Array.isArray(nums) || nums.length === 0) return 0;

    const length = Array(nums.length).fill(1);
    let maxLength = 1;

    for (let i = 1; i < nums.length; i++) {
        for (let j = 0; j < i; j++) {
            if (nums[i] > nums[j]) {
                length[i] = Math.max(length[i], length[j] + 1);
            }
        }
        maxLength = Math.max(maxLength, length[i]);
    }

    return maxLength;
}

const nums = [4, 5, 1, 10, 3, 9, 18, 17];

console.log(`Length of LIS: ${longestIncreasingSubsequence(nums)}`);



/*
run:

Length of LIS: 4

*/

 



answered 5 days ago by avibootz
...