41.最长上升子序列
42.最长连续递增序列
43.最长重复子数组
44.最长公共子序列
45.不相交的线
46.最大子序和
47.判断子序列
48.不同的子序列
49.两个字符串的删除操作
代码随想录一共有八道子序列相关的动态规划题目。
大多数的思想就是从[0...i-1]
的子序列推出[0...i]
的子序列的状态。
递增子序列问题
这两道题目的dp数组含义都是:以nums[i]
结尾的最长递增子序列,意味着这个子序列必须包括nums[i]
注意是以nums[i]
结尾,并不是nums[0...i]
的最长递增子序列,这两者区别非常大
例如:
41.最长上升子序列
所以这道题目是求:严格递增子序列的长度。
300. 最长递增子序列-最长上升子序列 (网站连接可能有问题,请在站内搜索)
42.最长连续递增序列
所以本题目和上面题目的唯一区别是:本题要求子序列是连续递增序列
674. 最长连续递增序列 (网站连接可能有问题,请在站内搜索)
二维子序列问题
43.最长重复子数组
本题要求得到两个数组的公共最长子数组
718. 最长重复子数组(网站连接可能有问题,请在站内搜索)
44.最长公共子序列
本题与上面的区别是找公共子序列,所以是非连续的