0%

LIS算法

LIS算法


最长上升子序列

leetcode.300.最长递增子序列

leetcode.354. 俄罗斯套娃信封问题

leetcode.334. 递增的三元子序列

leetcode.1691. 堆叠长方体的最大高度


动态规划

dp[i] 代表以i为尾的 最长递增子序列
转移方程
dp[i] = max(dp[i],dp[1…i-1]+1)

leetcode.300.最长递增子序列

二分查找

tails[l] 代表递增子序列长度为l时,尾元素的最小值
tails 是递增的
更新第i个元素时,从tails中二分查找到第一个大于nums[i]的元素索引ll
更新tails[ll]=nums[i]

leetcode.300.最长递增子序列