// var arr = [ 4, 10, 4, 3, 8, 9 ];
var arr = [ 10, 9, 2, 5, 3, 7, 101, 18 ];
// 为了求得数组的LIS,我认为只要直接调用 getMaxLength(arr, arr.length-1)就行了
alert( getMaxLength( arr, arr.length - 1 ) );
/** 看了老师的源代码,
int res = 1;
for( int i = 0 ; i < nums.size() ; i ++ )
res = max(res, getMaxLength(nums, i));
=====================================
我认为这个循环就是一个健壮性,但不需要这个循环,直接 getMaxLength(arr, arr.length-1) 就够了,
请问下老师,是不是 >_<
*/
function getMaxLength( nums, index ){
var res = 1;
for( var i = 0; i < index; i ++ ){
if( nums[index] > nums[i] ){
res = Math.max( res, 1 + getMaxLength( nums, i ) );
}
}
return res;
}