給你兩個單詞 word1 和 word2,請你計算出將 word1 轉換成 word2 所使用的最少運算元 。
你可以對乙個單詞進行如下三種操作:
插入乙個字元
刪除乙個字元
替換乙個字元
輸入:word1 = 「horse」, word2 = 「ros」
輸出:3
解釋:horse -> rorse (將 『h』 替換為 『r』)
rorse -> rose (刪除 『r』)
rose -> ros (刪除 『e』)
我們使用dp[i][j]來表示長度為[0,…i-1]的word1和長度為[0,…,j-1]的word2的最小運算元。
class
solution
;int n1 = word1.size(
), n2 = word2.size();
for(
int i =
0;i <= n2; i+
+) dp[0]
[i]= i;
for(
int i =
0;i <= n1;i+
+) dp[i][0
]= i;
for(
int i =
1;i <= n1;i++)
else}}
return dp[n1]
[n2];}
};
leecode 72 編輯距離
給定兩個單詞 word1 和 word2,計算出將 word1 轉換成 word2 所使用的最少運算元 你可以對乙個單詞進行如下三種操作 插入乙個字元 刪除乙個字元 替換乙個字元 示例 1 輸入 word1 horse word2 ros 輸出 3 解釋 horse rorse 將 h 替換為 r ...
72 編輯距離
給定兩個單詞 word1 和 word2,計算出將 word1 轉換成 word2 所使用的最少運算元 你可以對乙個單詞進行如下三種操作 插入乙個字元 刪除乙個字元 替換乙個字元 示例 1 輸入 word1 horse word2 ros 輸出 3解釋 horse rorse 將 h 替換為 r r...
72 編輯距離
給定兩個單詞 word1 和 word2,計算出將 word1 轉換成 word2 所使用的最少運算元 你可以對乙個單詞進行如下三種操作 插入乙個字元 刪除乙個字元 替換乙個字元 示例 1 輸入 word1 horse word2 ros 輸出 3 解釋 horse rorse 將 h 替換為 r ...