编辑距离(一)

 public int editDistance (String str1, String str2) {
        // write code here

        int n1=str1.length();
        int n2=str2.length();

        int[][] dp=new int[n1+1][n2+1];

        for (int i=1;i<=n1;i++){
            dp[i][0]=dp[i-1][0]+1;
        }

        for (int i=0;i<=n2;i++){
            dp[0][i]=dp[0][i-1]+1;
        }

        for (int i=1;i<=n1;i++){
            for (int j=1;j<=n2;j++){

                if(str1.charAt(i-1)==str2.charAt(j-1)){
                    dp[i][j]=dp[i-1][j-1];
                }else {
                    dp[i][j]=Math.min(dp[i-1][j-1],Math.min(dp[i-1][j],dp[i][j-1]))+1;
                }

            }
        }
        return dp[n1][n2];
    }


全部评论

相关推荐

好在哪里了?我请问了?
_hengheng:很好啊,我看旁边同事都入职了都有工作
点赞 评论 收藏
分享
亮点儿:昨天二面,今天看状态回到一面了查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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