mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 19:44:45 +08:00
添加0583 两个字符串的删除操作 Python解法2
This commit is contained in:
@ -234,6 +234,25 @@ class Solution:
|
|||||||
return dp[-1][-1]
|
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:
|
||||||
|
|
||||||
```go
|
```go
|
||||||
|
Reference in New Issue
Block a user