ds-algo-study
Version:
Just experimenting with publishing a package
28 lines (22 loc) • 648 B
JavaScript
/**
* A Dynamic Programming based solution for calculating Longest Increasing Subsequence
* https://en.wikipedia.org/wiki/Longest_increasing_subsequence
*/
function main() {
const x = [ 0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15 ]
const length = x.length
const dp = Array( length ).fill( 1 )
let res = 1
for ( let i = 0; i < length; i++ ) {
for ( let j = 0; j < i; j++ ) {
if ( x[ i ] > x[ j ] ) {
dp[ i ] = Math.max( dp[ i ], 1 + dp[ j ] )
if ( dp[ i ] > res ) {
res = dp[ i ]
}
}
}
}
console.log( 'Length of Longest Increasing Subsequence is:', res )
}
main()