zoukankan      html  css  js  c++  java
  • LeetCode Edit Distance

    Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)

    You have the following 3 operations permitted on a word:

    a) Insert a character
    b) Delete a character
    c) Replace a character

     1 public class Solution {
     2     public int minDistance(String word1, String word2) {
     3         if (word1.equals(word2)) {
     4             return 0;
     5         }
     6         if (word1.length()==0) {
     7             return word2.length();
     8         }
     9         if (word2.length()==0) {
    10             return word1.length();
    11         }
    12         
    13         int[][] distance=new int[word1.length()+1][word2.length()+1];
    14         for (int i = 0; i <= word1.length(); i++) {
    15             distance[i][0]=i;
    16         }
    17         for (int i = 0; i <= word2.length(); i++) {
    18             distance[0][i]=i;
    19         }
    20         
    21         for (int i = 1; i <= word1.length(); i++) {
    22             for (int j = 1; j <= word2.length(); j++) {
    23                 if (word1.charAt(i-1)==word2.charAt(j-1)) {
    24                     distance[i][j]=distance[i-1][j-1];
    25                 }else {
    26                     distance[i][j]=Math.min(Math.min(distance[i-1][j], distance[i][j-1]), distance[i-1][j-1])+1;
    27                 }
    28             }
    29             
    30         }
    31         return distance[word1.length()][word2.length()];
    32     }
    33 }
  • 相关阅读:
    log.count/logrt.count/log/logrt
    datetime
    差集交集
    pandas 空df对象判断
    pyinstaller
    pysimplegui
    vi编辑实用命令
    hadoop实用命令
    查找redis安装目录
    spark streaming 读取kafka数据保存到parquet文件,redis存储offset
  • 原文地址:https://www.cnblogs.com/birdhack/p/4253907.html
Copyright © 2011-2022 走看看