题解 | #编辑距离(一)#动态规划(状态方程)

编辑距离(一)

http://www.nowcoder.com/practice/6a1483b5be1547b1acd7940f867be0da

class Solution {
public:
    /**
     dp[i][j]以i,j结尾的最少操作数
     dp[i][j]可以通过dp[i-1][j],dp[i][j-1], dp[i-1][j-1] 三种状态得到
     
     */
    int editDistance(string str1, string str2) {
        // write code here
        int len1 = str1.size();
        int len2 = str2.size();
        vector<vector<int> > dp(len1+1, vector<int>(len2+1, 0));
        for(int i=0;i<=len1; i++){
            dp[i][0]=i;
        }
        for(int j=0;j<=len2; j++){
            dp[0][j]=j;
        }
        for(int i=1;i<=len1; i++){
            for(int j=1; j<=len2;j++){
                int a = (str1[i-1]==str2[j-1])?0:1;
                dp[i][j] = min(1+dp[i-1][j], min(1+dp[i][j-1], a+dp[i-1][j-1]));
            }
        }
        return dp[len1][len2];
    }
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 11:29
已编辑
斯卡蒂味的鱼汤:知道你不会来数马,就不捞你😂最近数马疯狂扩招,招聘要求挺低的,你能力肯定够,应该就是因为太强了,知道你不会来才不捞你
投递腾讯云智研发等公司7个岗位
点赞 评论 收藏
分享
友友们,我实在是不太明白,校招的话现在大多也是提前实习,然后转正也是需要考核的,考核通过才能转正,那这跟实习转正有什么区别啊
苦闷的仰泳鲈鱼刷了1...:提前实习,是让你提前熟悉业务的,后续是入职后可以减少试用期的(大部分是包入职的);转正实习,要是hc不够或者其他原因,让你正式offer可能都没有,这个风险很大。 ---个人看法和了解到的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务