关于动态规划【力扣392.判断子序列的思考】

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数组】

(否则会报如下错误)

【正确写法】

相关推荐
垆边人似月.7 分钟前
华为机考题:明明的随机数
数据结构·算法·华为
Doubbbbbbble云36 分钟前
多维空间索引结构R树与KD树性能对比研究4
算法
海上小飞龙38 分钟前
【KMP算法-中篇】next 数组的递推:往前填一位,靠的是往回退几步
算法
keyipatience42 分钟前
B树详解:从零构建平衡多路搜索树
数据结构·b树·算法·图搜索
FluxArt1 小时前
GPT Image 2.5 多图参考怎么用:Flux Art 生成与编辑教程
数据结构·gpt·算法
All for pursuit.2 小时前
【分治-2】215.数组中的第K个最大元素
数据结构·c++·算法·leetcode
CQU_JIAKE2 小时前
9.15【A】
算法·动态规划
成为深度学习高手2 小时前
DAG:沿时间与通道双相关建模的外生变量时序预测
网络·人工智能·深度学习·算法·机器学习·数据挖掘·时序数据库
阳明山水2 小时前
CEDAR双重解耦实现决策与干预分离
人工智能·深度学习·算法·机器学习·架构
w_zero_one2 小时前
链表(3)
java·数据结构·算法