Leetcode 72 編輯距離

2021-10-05 19:47:58 字數 616 閱讀 7199

動態規劃

dp[i][j]表示word1的前i個字元傳換成word2的前j個字元所需的最少運算元。

1.在word1和word2前添#,便於初始化。

2.if(word1[i]==word2[j])):新添的一位並沒有影響,不需要新的操作。

3.if(word1[i]!=word2[j])):替換、插入、刪除三選一。

替換:dp[i-1][j-1]+1,只需替換最後一位。

插入:dp[i][j-1]+1,word[i]–>word2[j-1] 在末尾插入word2[j]。

刪除:dp[i-1][j]+1,將word1[i]直接刪去,word[i-1]—>word2[j]。

class

solution

}return dp[word1.

length()

-1][word2.

length()

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