dp 力扣 72 編輯距離

2021-10-09 23:18:17 字數 1199 閱讀 2497

給你兩個單詞 word1 和 word2,請你計算出將 word1 轉換成 word2 所使用的最少運算元 。

你可以對乙個單詞進行如下三種操作:

插入乙個字元

刪除乙個字元

替換乙個字元

示例 1:

輸入:

word1 =

"horse"

, word2 =

"ros"

輸出:

3
解釋:

horse -> rorse (將 『h』 替換為 『r』)

rorse -> rose (刪除 『r』)

rose -> ros (刪除 『e』)

示例 2:

輸入:

word1 =

"intention"

, word2 =

"execution"

輸出:

5
解釋:

intention -> inention (刪除 『t』)

inention -> enention (將 『i』 替換為 『e』)

enention -> exention (將 『n』 替換為 『x』)

exention -> exection (將 『n』 替換為 『c』)

exection -> execution (插入 『u』)

思路:**:

class

solution

for(

int i =

1; i < n +

1; i++

)for

(int i =

1; i < m +

1; i++)}

return dp[m]

[n];}}

;

來搞一波動態規劃~~~

力扣)72 編輯距離

難度在於定義最優解的結構。根據動態規劃思想容易定義出dp i j 表示word1的前i段與word2的前j段的編輯距離。最難想到的是最優解的結構,即替換,刪除和插入三種操作可以分別用dp i 1 j 1 1,dp i 1 j 1和dp i j 1 1表示。dp i j 代表 word1 到 i 位置...

LeetCode72編輯距離 dp

題目 開始以為不是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...

72 編輯距離

給定兩個單詞 word1 和 word2,計算出將 word1 轉換成 word2 所使用的最少運算元 你可以對乙個單詞進行如下三種操作 插入乙個字元 刪除乙個字元 替換乙個字元 示例 1 輸入 word1 horse word2 ros 輸出 3解釋 horse rorse 將 h 替換為 r r...