码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode 72. 编辑距离

时间:2019-05-16 15:07:53      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:编辑   etc   ==   初始   定义   状态   字符   cto   info   

技术图片

/*****
定义状态:
DP[i][j]其中i表示word1前i个字符,j表示Word2前i个字符
DP[i][j]表示单词1前i个字符匹配单词2前j个字符,最少变换次数;
状态转移:
for i:[0,m]
    for j:[0,n]
    if(word1[i-1]==word2[j-1])
        DP[i][j]=DP[i-1][j-1];
    else
        DP[i][j]=min(DP[i-1][j],DP[i][j-1],DP[i-1][j-1])+1;
return DP[m][n];

******/


class Solution {
public:
    int minDistance(string word1, string word2) {
        int m=word1.size(),n=word2.size();
        vector<vector<int> > DP(m+1,vector(n+1,0));
        //初始化
        for(int i=0;i<=m;i++){
            DP[i][0]=i;
        }
        for(int j=0;j<=n;j++){
            DP[0][j]=j;
        }
        //状态转移
        for(int i=1;i<=m;i++){
            for(int j=1;j<=n;j++){
                if(word1[i-1]==word2[j-1])
                    DP[i][j]=DP[i-1][j-1];
                else
                    DP[i][j]=min(min(DP[i-1][j],DP[i][j-1]),DP[i-1][j-1])+1;
            }
        }
        return DP[m][n];
    }
};

leetcode 72. 编辑距离

标签:编辑   etc   ==   初始   定义   状态   字符   cto   info   

原文地址:https://www.cnblogs.com/joelwang/p/10875673.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!