Edit Distance @Leetcode -- Python

http://oj.leetcode.com/problems/edit-distance/


class Solution:
# @return an integer
def minDistance(self, word1, word2):
len1 = len(word1)
len2 = len(word2)
dp = [[0 for j in xrange(len2+1)] for i in xrange(len1 +1)]
for i in xrange(len1+1):
dp[i][0] = i
for j in xrange(len2+1):
dp[0][j] = j
for i in xrange(1, len1+1):
for j in xrange(1, len2+1):
if word1[i-1] == word2[j-1]:
dp[i][j] = dp[i-1][j-1]
else:
dp[i][j] = min(dp[i-1][j-1], dp[i][j-1],dp[i-1][j]) + 1
return dp[len1][len2]

时间: 2024-11-09 01:02:08

Edit Distance @Leetcode -- Python的相关文章

Edit Distance leetcode java

题目: 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) R

Edit Distance -- LeetCode

原标题链接: http://oj.leetcode.com/problems/edit-distance/ 这道题求一个字符串编辑成为还有一个字符串的最少操作数,操作包含加入,删除或者替换一个字符.这道题难度是比較大的,用常规思路出来的方法一般都是brute force,并且还不一定正确. 这事实上是一道二维动态规划的题目.模型上确实不easy看出来.以下我们来说说递推式. 我们维护的变量res[i][j]表示的是word1的前i个字符和word2的前j个字符编辑的最少操作数是多少.如果我们拥有

(分类讨论, 情景模拟) lintcode 640. One Edit Distance, leetcode 388,intcode 645. 13. 12. 659. 660

找特殊情况,分类讨论:三种情况 1)两个字符串的长度之差 大于1 直接返回false: 2)长度之差等于1, 判断长的字符串删掉不一样的字符,剩余的字符串是否相同: 3)长度之差等于0,判断不相同的字符个数,若超过一个返回false. class Solution { public: /** * @param s: a string * @param t: a string * @return: true if they are both one edit distance apart or f

Edit Distance (or Levenshtein Distance) python solution for leetcode EPI 17.2

https://oj.leetcode.com/problems/edit-distance/ 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

[LeetCode] One Edit Distance 一个编辑距离

Given two strings S and T, determine if they are both one edit distance apart. 这道题是之前那道Edit Distance的拓展,然而这道题并没有那道题难,这道题只让我们判断两个字符串的编辑距离是否为1,那么我们只需分下列三种情况来考虑就行了: 1. 两个字符串的长度之差大于1,那么直接返回False 2. 两个字符串的长度之差等于1,那么长的那个字符串去掉一个字符,剩下的应该和短的字符串相同 3. 两个字符串的长度之

leetcode day4 -- Binary Tree Postorder(Preorder) Traversal && Edit Distance

 1.Binary Tree Postorder Traversal Given a binary tree, return the postorder traversal of its nodes' values. For example: Given binary tree {1,#,2,3}, 1 2 / 3 return [3,2,1]. Note: Recursive solution is trivial, could you do it iteratively? 分析:后续遍历

【leetcode】Edit Distance 详解

下图为TI C6xx DSP Nyquist总线拓扑图,总线连接了master与slave,提供了高速的数据传输.有很多种速率不同的总线,如图中的红色方框,最高速总线为CPU/2 TeraNet SCR(即VBUSM SCR),带宽为256bit,其他低速总线为CPU/3,CPU/6,带宽参考图中所示.总线之间用Bridge(桥)连接,作用包括转换总线的速率,使之与所流向总线的速率相同等. 在具体应用中,各种速率的总线完全可以满足复杂的数据传输,而数据传输的瓶颈往往在于连接总线之间的Bridge

LeetCode One Edit Distance

原题链接在这里:https://leetcode.com/problems/one-edit-distance/ Given two strings S and T, determine if they are both one edit distance apart. 与Edit Distance类似. 若是长度相差大于1, return false. 若是长度相差等于1, 遇到不同char时, 长的那个向后挪一位. 若是长度相等, 遇到不同char时同时向后挪一位. 出了loop还没有返回,

[LeetCode] Edit Distance(很好的DP)

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) Repla