题解 | #编辑距离(一)#

编辑距离(一)

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

public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param str1 string字符串 
     * @param str2 string字符串 
     * @return int整型
     */
    int editDistance(string str1, string str2) {
        vector<vector<int>> dp(str1.size()+1, vector<int>(str2.size()+1, 0));
        for (int i=0; i<=str1.size(); i++)
            dp[i][0] = i;
        for (int j=0; j<=str2.size(); j++)
            dp[0][j] = j;
        for (int i=1; i<=str1.size(); i++){
            for (int j=1; j<=str2.size(); j++){
                if (str1[i-1] == str2[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[str1.size()][str2.size()];
        // write code here
    }
};
全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务