1. 程式人生 > 其它 >【每日一題】2021年12月17日-72. 編輯距離

【每日一題】2021年12月17日-72. 編輯距離

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

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

插入一個字元
刪除一個字元
替換一個字元

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/edit-distance
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

答案:

//動態規劃
//dp[len1][len2]
//初始化、值相等、不相等
class Solution {
    public int minDistance(String word1, String word2) {
        
int len1 = word1.length(); int len2 = word2.length(); int[][] dp = new int[len1 + 1][len2 + 1]; for(int i = 0; i <= len1; i++) { //到len dp[i][0] = i; } for(int j = 0; j <= len2; j++) { //到len dp[0][j] = j; } for(int i = 1; i <= len1; i++) {
for(int j = 1; j <= len2; j++) { //到len if(word1.charAt(i - 1) == word2.charAt(j - 1)) { //字元是-1 dp[i][j] = dp[i - 1][j - 1]; } else { dp[i][j] = 1 + Math.min(dp[i - 1][j], Math.min(dp[i][j - 1], dp[i - 1][j - 1])); } } }
return dp[len1][len2]; } }

本文來自部落格園,作者:劉金輝,轉載請註明原文連結:https://www.cnblogs.com/liujinhui/p/15703626.html