14
14
15
15
## 判断子序列
16
16
17
- [ 动态规划:392.判断子序列] ( https://mp.weixin.qq. com/s/2pjT4B4fjfOx5iB6N6xyng ) 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。
17
+ [ 动态规划:392.判断子序列] ( https://programmercarl. com/0392.判断子序列.html ) 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。
18
18
19
19
20
20
这道题目 其实是可以用双指针或者贪心的的,但是我在开篇的时候就说了这是编辑距离的入门题目,因为从题意中我们也可以发现,只需要计算删除的情况,不用考虑增加和替换的情况。
@@ -33,9 +33,9 @@ else dp[i][j] = dp[i][j - 1];
33
33
34
34
## 不同的子序列
35
35
36
- [ 动态规划:115.不同的子序列] ( https://mp.weixin.qq. com/s/1SULY2XVSROtk_hsoVLu8A ) 给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。
36
+ [ 动态规划:115.不同的子序列] ( https://programmercarl. com/0115.不同的子序列.html ) 给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。
37
37
38
- 本题虽然也只有删除操作,不用考虑替换增加之类的,但相对于[ 动态规划:392.判断子序列] ( https://mp.weixin.qq. com/s/2pjT4B4fjfOx5iB6N6xyng ) 就有难度了,这道题目双指针法可就做不了。
38
+ 本题虽然也只有删除操作,不用考虑替换增加之类的,但相对于[ 动态规划:392.判断子序列] ( https://programmercarl. com/0392.判断子序列.html ) 就有难度了,这道题目双指针法可就做不了。
39
39
40
40
41
41
当s[ i - 1] 与 t[ j - 1] 相等时,dp[ i] [ j ] 可以有两部分组成。
@@ -68,9 +68,9 @@ if (s[i - 1] == t[j - 1]) {
68
68
69
69
## 两个字符串的删除操作
70
70
71
- [ 动态规划:583.两个字符串的删除操作] ( https://mp.weixin.qq. com/s/a8BerpqSf76DCqkPDJrpYg ) 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。
71
+ [ 动态规划:583.两个字符串的删除操作] ( https://programmercarl. com/0583.两个字符串的删除操作.html ) 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。
72
72
73
- 本题和[ 动态规划:115.不同的子序列] ( https://mp.weixin.qq. com/s/1SULY2XVSROtk_hsoVLu8A ) 相比,其实就是两个字符串可以都可以删除了,情况虽说复杂一些,但整体思路是不变的。
73
+ 本题和[ 动态规划:115.不同的子序列] ( https://programmercarl. com/0115.不同的子序列.html ) 相比,其实就是两个字符串可以都可以删除了,情况虽说复杂一些,但整体思路是不变的。
74
74
75
75
76
76
* 当word1[ i - 1] 与 word2[ j - 1] 相同的时候
@@ -100,10 +100,10 @@ if (word1[i - 1] == word2[j - 1]) {
100
100
101
101
## 编辑距离
102
102
103
- [ 动态规划:72.编辑距离] ( https://mp.weixin.qq. com/s/8aG71XjSgZG6kZbiAdkJnQ ) 给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。
103
+ [ 动态规划:72.编辑距离] ( https://programmercarl. com/0072.编辑距离.html ) 给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。
104
104
105
105
106
- 编辑距离终于来了,** 有了前面三道题目的铺垫,应该有思路了** ,本题是两个字符串可以增删改,比 [ 动态规划:判断子序列] ( https://mp.weixin.qq. com/s/2pjT4B4fjfOx5iB6N6xyng ) ,[ 动态规划:不同的子序列] ( https://mp.weixin.qq. com/s/1SULY2XVSROtk_hsoVLu8A ) ,[ 动态规划:两个字符串的删除操作] ( https://mp.weixin.qq. com/s/a8BerpqSf76DCqkPDJrpYg ) 都要复杂的多。
106
+ 编辑距离终于来了,** 有了前面三道题目的铺垫,应该有思路了** ,本题是两个字符串可以增删改,比 [ 动态规划:判断子序列] ( https://programmercarl. com/0392.判断子序列.html ) ,[ 动态规划:不同的子序列] ( https://programmercarl. com/0115.不同的子序列.html ) ,[ 动态规划:两个字符串的删除操作] ( https://programmercarl. com/0583.两个字符串的删除操作.html ) 都要复杂的多。
107
107
108
108
109
109
在确定递推公式的时候,首先要考虑清楚编辑的几种操作,整理如下:
@@ -161,7 +161,7 @@ else {
161
161
162
162
## 总结
163
163
164
- 心思的录友应该会发现我用了三道题做铺垫,才最后引出了[ 动态规划:72.编辑距离] ( https://mp.weixin.qq. com/s/8aG71XjSgZG6kZbiAdkJnQ ) ,Carl的良苦用心呀,你们体会到了嘛!
164
+ 心思的录友应该会发现我用了三道题做铺垫,才最后引出了[ 动态规划:72.编辑距离] ( https://programmercarl. com/0072.编辑距离.html ) ,Carl的良苦用心呀,你们体会到了嘛!
165
165
166
166
## 其他语言版本
167
167
0 commit comments