公告:
鹿邑广利置业有限公司官方网站,诚信为本:市场永远在变,诚信永远不变。
新闻中心
全国服务电话:联系我们  
400-8888-888
地址:
鹿邑省盐城市射阳海滨国际高尔夫球场对面
座机:
0515-82734567
手机:
15777777777 于总
传真:
0515-66666666
邮箱:
[email protected]
400:
400-8888-888
企业新闻  
当前位置:
代码随想录 day 46 不同的子序列 | 两个字符串的删除操作 | 编辑距离发布时间:2024/9/17 11:24:17

不同的子序列

不同的子序列

解题思路

dp数组的含义是两个分别以i-1结尾和j-1结尾相同的子序列的长度。也可以看作是每次删除s字符串的步数。这道题需要注意的是当两个字符相等时,别忘记加上dp[i-1][j]的值,因为如果前面有相同的字符,我们需要把这个次数加入到dp数组中

知识点

动态规划

心得

比较难的题,但是能够理解每次遍历dp时是删除一个字符就很好做

两个字符串的删除操作

两个字符串的删除操作

解题思路

这道题目的dp数组含义还是一样,但是初始化有点不一样,因为dp数组存储的是需要删除的步数,所以dp[i][0] 和 dp[0][j] 的值应该分别为i 和 j。然后当两个字符相等时,就等于没有这两个字符串的时候,也就是dp[i - 1][j - 1]. 而不等于时,也需要分别比较两个字符的前一个字符的大小,根据题意选最少的就行。

知识点

动态规划

心得

相比于上一题,这道题目就比较直观了

编辑距离

编辑距离

解题思路

还是不变的思路,只不过这次添加了添加,删除和替换的操作,其实我们可以不必要分清这些操作怎么实现,只要当字符不相同时让步数加一就行。

知识点

动态规划

心得

主要不要被多出来的操作吓到就行

相关资讯[返回列表]

400-8888-888