Stay Hungry,Stay Foolish!

72. 编辑距离

72. 编辑距离

 https://leetcode.cn/problems/edit-distance/description/
 

思路

https://zhuanlan.zhihu.com/p/144754447

状态转移公式。

 

https://zhuanlan.zhihu.com/p/81106168

 

Code

class Solution {
public:
    int minDistance(string word1, string word2) {
        int dp[505][505] = {{0}};

        for(int i=1; i<=word1.size(); i++){
            dp[i][0] = i;
        }

        for(int j=1; j<=word2.size(); j++){
            dp[0][j] = j;
        }

        for(int i=1; i<=word1.size(); i++){
            for(int j=1; j<=word2.size(); j++){
                /*
                ith char is located in i-1 postion
                */
                if (word1[i-1] == word2[j-1]){
                    dp[i][j] = dp[i-1][j-1];
                } else {
                    int minprev = min(dp[i][j-1], dp[i-1][j-1]);
                    minprev = min(dp[i-1][j], minprev);

                    dp[i][j] = minprev + 1;
                }
            }
        }

        return dp[word1.size()][word2.size()];
    }
};

 

 
 
posted @ 2024-03-04 21:33  lightsong  阅读(2)  评论(0编辑  收藏  举报
Life Is Short, We Need Ship To Travel