題目
開始以為不是dp 後來看了下題解
dp[i][j] 代表word1截止到第i個字元轉換成word2截止到第j個字元需要幾步變換
if(word1[i] == word2[j]) dp[i][j] = dp[i-1][j-1] //無需操作
else dp[i][j] = math.min(math.min(dp[i][j-1],dp[i-1][j]),dp[i-1][j-1])+1;
dp[i][j-1]+1 代表word1截止到第i個轉換成word2第j-1個需要的次數然後再插入第j個字元
dp[i-1][j]+1 代表word1截止到第i-1個轉換成word2第j個需要的次數然後再刪除第i個字元
dp[i-1][j-1] 代表word1截止到第i-1個轉換成word2第j-1個需要的次數然後再替換第i個字元變為第j個字元
public
intmindistance
(string word1, string word2)
}return dp[len1]
[len2]
;}
Leetcode 72 編輯距離
給定兩個單詞 word1 和 word2,計算出將 word1 轉換成 word2 所使用的最少運算元 你可以對乙個單詞進行如下三種操作 插入乙個字元 刪除乙個字元 替換乙個字元 示例 1 輸入 word1 horse word2 ros 輸出 3 解釋 horse rorse 將 h 替換為 r ...
leetcode 72 編輯距離
給定兩個單詞 word1 和 word2,計算出將 word1 轉換成 word2 所使用的最少運算元 你可以對乙個單詞進行如下三種操作 插入乙個字元 刪除乙個字元 替換乙個字元 示例 1 輸入 word1 horse word2 ros 輸出 3解釋 horse rorse 將 h 替換為 r r...
LeetCode72 編輯距離
給定兩個單詞 word1 和 word2,計算出將 word1 轉換成 word2 所使用的最少運算元 你可以對乙個單詞進行如下三種操作 示例 1 輸入 word1 horse word2 ros 輸出 3 解釋 horse rorse 將 h 替換為 r rorse rose 刪除 r rose ...