添加0583 两个字符串的删除操作 Python解法2

This commit is contained in:
matthew
2024-04-06 10:38:12 +08:00
parent 16ff0d1bdd
commit 1c4b9a252f

View File

@ -234,6 +234,25 @@ class Solution:
return dp[-1][-1]
```
> 版本 2
```python
class Solution(object):
def minDistance(self, word1, word2):
m, n = len(word1), len(word2)
# dp 求解两字符串最长公共子序列
dp = [[0] * (n+1) for _ in range(m+1)]
for i in range(1, m+1):
for j in range(1, n+1):
if word1[i-1] == word2[j-1]:
dp[i][j] = dp[i-1][j-1] + 1
else:
dp[i][j] = max(dp[i-1][j], dp[i][j-1])
# 删去最长公共子序列以外元素
return m + n - 2 * dp[-1][-1]
```
### Go
```go