
1、目前动态规划的子序列系列的题目之间的区别与联系【力扣300.最长递增子序列】一个数组不连续【力扣674.最长连续递增子序列】一个数组连续【力扣718.最长重复子数组】两个数组连续【力扣1143.最长公共子序列】两个数组不连续【力扣1035.不相交的线】与1143本质一样两个数组不连续【力扣53.最大子数组和】一个数组连续本题【力扣392.判断子序列】与1143本质一样两个数组不连续2、本题与力扣1143.最长公共子序列的关键区别关键区别在于【递推公式】【1143的递推公式如下图所示】【本题的递推公式如下图所示】【接下来重点探讨为什么本题的递推公式是这样】因为本题的题目要求是判断s是不是t的子序列也就是说s是比较短的那个数组s不会再回退了关键就是s不能回退如下图所示而1043那题s可以回退如下图所示3、在力扣1143.最长公共子序列的代码基础上本题处理了三个地方【改数组名】【改递推公式】【改返回值】4、注意事项最好不要硬编码二维dp数组的长和宽【要动态分配dp数组】否则会报如下错误【正确写法】