mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-06 23:28:29 +08:00
@ -189,6 +189,31 @@ class Solution {
|
||||
}
|
||||
}
|
||||
```
|
||||
```java
|
||||
//DP - longest common subsequence (用最長公共子序列反推)
|
||||
class Solution {
|
||||
public int minDistance(String word1, String word2) {
|
||||
char[] char1 = word1.toCharArray();
|
||||
char[] char2 = word2.toCharArray();
|
||||
|
||||
int len1 = char1.length;
|
||||
int len2 = char2.length;
|
||||
|
||||
int dp[][] = new int [len1 + 1][len2 + 1];
|
||||
|
||||
for(int i = 1; i <= len1; i++){
|
||||
for(int j = 1; j <= len2; j++){
|
||||
if(char1[i - 1] == char2[j - 1])
|
||||
dp[i][j] = dp[i - 1][j - 1] + 1;
|
||||
else
|
||||
dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
|
||||
}
|
||||
}
|
||||
|
||||
return len1 + len2 - (2 * dp[len1][len2]);//和leetcode 1143只差在這一行。
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Python:
|
||||
|
Reference in New Issue
Block a user