LeetCode Edit Distance
来源:互联网 发布:mac拼音怎么打 编辑:程序博客网 时间:2024/06/06 06:34
Description:
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
Solution:
classical edit distance
pay attention to the initialization circumstances, we can get dp[i][0] = i and dp[0][j] = j
<span style="font-size:18px;">import java.util.*;public class Solution {public int minDistance(String word1, String word2) {if (word1 == null)return 0;if (word2 == null)return 0;int n = word1.length();int m = word2.length();if (n == 0)return m;if (m == 0)return n;int dp[][] = new int[n + 1][m + 1];for (int i = 0; i <= n; i++)dp[i][0] = i;for (int j = 0; j <= m; j++)dp[0][j] = j;for (int i = 1; i <= n; i++)for (int j = 1; j <= m; j++) {if (word1.charAt(i - 1) == word2.charAt(j - 1))dp[i][j] = Math.min(dp[i - 1][j - 1],Math.min(dp[i - 1][j], dp[i][j - 1]) + 1);elsedp[i][j] = Math.min(dp[i - 1][j - 1] + 1,Math.min(dp[i - 1][j], dp[i][j - 1]) + 1);}return dp[n][m];}}</span>
0 0
- LeetCode: Edit Distance
- LeetCode Edit Distance
- LeetCode: Edit Distance
- [Leetcode] Edit Distance
- leetcode 19: Edit Distance
- [LeetCode] Edit Distance
- [Leetcode] Edit Distance
- LeetCode Edit Distance
- [LeetCode] Edit Distance
- [LeetCode]Edit Distance
- Leetcode: Edit Distance
- [leetcode]Edit Distance
- LeetCode-Edit Distance
- [leetcode] Edit Distance
- LeetCode - Edit Distance
- leetcode之Edit Distance
- leetcode edit distance
- 【leetcode】Edit Distance
- 总结一下Word Break I 和 II
- Longest Increasing Subsequence
- hadoop配置文件及常用配置
- ajax 的简述与原理
- ——黑马程序员——OC中NSNumber、NSValue、NSDate 的使用总结
- LeetCode Edit Distance
- 冒泡排序:JAVA
- LeetCode 题解(284) : Smallest Rectangle Enclosing Black Pixels
- 直接插入排序 :Java实现
- List<String>Sort
- iOS开发之GCD使用总结
- 希尔排序:Java(最小增量排序)
- Spark学习体会
- java快速排序实现