zoukankan      html  css  js  c++  java
  • LintCode-编辑距离

    题目描述:

      给出两个单词word1和word2,计算出将word1 转换为word2的最少操作次数。

      你总共三种操作方法:

    • 插入一个字符
    • 删除一个字符
    • 替换一个字符
    样例
      给出 work1="mart" 和 work2="karma"

      返回 3

     1 public class Solution {
     2     /**
     3      * @param word1 & word2: Two string.
     4      * @return: The minimum number of steps.
     5      */
     6     public int minDistance(String word1, String word2) {
     7         // write your code here
     8         int[][] dp = new int[word1.length()+1][word2.length()+1];
     9         
    10         for(int i=1;i<=word1.length();i++)
    11             dp[i][0] = i;
    12             
    13         for(int i=1;i<=word2.length();i++)
    14             dp[0][i] = i;
    15             
    16         for(int i=0;i<word1.length();i++){
    17             for(int j=0;j<word2.length();j++){
    18                 if(word1.charAt(i) == word2.charAt(j)){
    19                     dp[i+1][j+1] = Math.min(dp[i][j],Math.min(dp[i][j+1],dp[i+1][j])+1);
    20                 }else{
    21                     dp[i+1][j+1] = Math.min(dp[i][j+1]+1,Math.min(dp[i][j],dp[i+1][j])+1);
    22                 }
    23             }
    24         }
    25         return dp[word1.length()][word2.length()];
    26     }
    27 }
  • 相关阅读:
    嵌套函数
    大括号{ }
    不是俺的错
    hasOwnProperty()
    属性的查找过程
    原型和原型链——汤姆大叔
    JS问题汇总
    phpcms无刷新分页
    phpcms开发过程中遇到的问题总结
    基于物联网的自动氮吹仪
  • 原文地址:https://www.cnblogs.com/xiaocainiao2hao/p/5361379.html
Copyright © 2011-2022 走看看