1.列出狀態轉移方程:
- dp[i][j]表示:使用word1中前i個字符構造word2中前j個字符的最小操作數;
- 當word1[i] == word2[j]:dp[i][j] = dp[i-1][j-1];
- 當word1[i] != word2[j]:dp[i][j] = min({dp[i-1][j-1] (替換),dp[i-1][j] (刪除),dp[i][j-1] (插入)})+1。
2.編碼:
class Solution {
public:
int minDistance(string word1, string word2) {
int n1 = word1.size