美文网首页
72. 编辑距离

72. 编辑距离

作者: bangbang2 | 来源:发表于2021-07-15 21:43 被阅读0次

    ```

    class Solution {

        public int minDistance(String word1, String word2) {

            int m=word1.length();

            int n=word2.length();

            if(m==0&&n==0) return 0;

            int [][] dp=new int[m+1][n+1];

            //dp[i][j]代表前i个和前j个字符,转换后的最少操作数

            for(int i=1;i<=m;i++){//主要是初始化

                dp[i][0]=i;

            }

            for(int i=1;i<=n;i++){

                dp[0][i]=i;

            }

            for(int i=1;i<=m;i++){

                for(int j=1;j<=n;j++){

                    if(word1.charAt(i-1)!=word2.charAt(j-1)){

                        //状态转移方程

                        //dp[i-1][j]代表删除一个字符,原来是前i个字符,

                        //要变成前j个字符,就需要进行删除第i个字符

                        //dp[i-1][j-1]代表替换一个字符

                        //dp[i][j-1]代表添加一个字符,原来是前i个字符

                        dp[i][j]=Math.min(Math.min(dp[i-1][j],dp[i-1][j-1])

                        ,dp[i][j-1])+1; 

                    }else{

                        dp[i][j]=dp[i-1][j-1];

                    }

                }

            }

            return dp[m][n];

        }

    }

    ```

    相关文章

      网友评论

          本文标题:72. 编辑距离

          本文链接:https://www.haomeiwen.com/subject/qswmpltx.html