LeetCode 72 編輯距離

2021-10-04 19:22:28 字數 1300 閱讀 8817

由於只能執行,替換,插入,刪除操作

假設dp[i][j] 為word1[1:i]和word2[1:j]的編輯距離

那麼dp[i-1][j-1] 為word1[1:i-1]和word2[1:j-1]的編輯距離

如何由dp[i-1][j-1] 到dp[i][j]

如果 i = j :

dp[i][j] = dp[i-1][j-1]

如果i != j:

那dp[i][j] 可以是 dp[i-1][j-1]經過一次操作,即:

dp[i][j] = dp[i-1][j-1] + 1

也可以是dp[i-i][j]經過一次操作,即:

dp[i][j] = dp[i-1][j] + 1

也可以是dp[i-i][j]經過一次操作,即:

dp[i][j] = dp[i][j-1] + 1

綜上:即 dp[i][j] = min(dp[i][j-1],dp[i-1][j],dp[i-1][j-1]) + 1

即如下圖

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 ...