最长上升子序列(lis)问题:给定长度为n的序列a,从a中抽取出一个子序列,这个子序列需要单调递增.问最长的上升子序列(lis)的长度. 比如: 1,5,3,4,6,9,7,8的lis为1,3,4,6,7,8,长度为6. xp && ax ap, f(x) = max(f(p)) + 1 const arr = [1,5,3,4,6,9,7,8]; f nction lis(arr) { let dp = [];  最长上升子序列,以i结尾的元素,其组成的lis为dp[i] arr.map((item, i) = { dp[i] = 1; for(let j= 0; ji;j) {  在原数组中,符合arr[i]  arr[j]的位置,找到使dp[j]最大的j, 则i = dp[j]+1; if(arr[i] arr[j]) { dp[i] = math.max(dp[i], dp[j] + 1);