美文网首页
360经典笔试 最小编辑距离(python)

360经典笔试 最小编辑距离(python)

作者: 翩翩公子银圈圈 | 来源:发表于2018-09-18 16:30 被阅读0次

已知有两个字符韦str1,str2 ,现在需要把str1通过若干次操作修改成str2。可使用的操作包括插入,删除,替换,每个操作每次只能操作一个字符,求最少的操作次数。
示例:
输入:abcd
abce
输出:1
原理:https://blog.csdn.net/chichoxian/article/details/53944188
写的非常清晰易懂
代码:

import string
def editDist(s1, s2):
    m, n = len(s1) + 1, len(s2) + 1
    matrix=[[0]*n for i in range(m)]
    matrix[0]=[i for i in range(n)]
    for i in range(m):
        matrix[i][0]=i
    for i in range(1,m):
        for j in range(1,n):
            if(s1[i-1]==s2[j-1]):
                temp=0
            else:
                temp=1
            matrix[i][j]=min(matrix[i-1][j]+1,matrix[i][j-1]+1,matrix[i-1][j-1]+temp)
    return matrix[m-1][n-1]
# res = editDist('cafe', 'coffee')
print("请输入str1")
s1=str(input())
print("请输入str2")
s2=str(input())
mindist=editDist(s1,s2)
print(mindist)

相关文章

  • 360经典笔试 最小编辑距离(python)

    已知有两个字符韦str1,str2 ,现在需要把str1通过若干次操作修改成str2。可使用的操作包括插入,删除,...

  • 最小编辑距离_Python

    最小编辑距离或莱文斯坦距离(Levenshtein),指由字符串A转化为字符串B的最小编辑次数。允许的编辑操作有:...

  • 最小编辑距离

    编辑距离,又称为Levenshtein距离,由俄罗斯的数学家Vladimir Levenshtein在1965年提...

  • 最小编辑距离

    题目 给定一个源串S和目标串T,能够对源串进行如下操作:1.在给定位置上插入一个字符2.替换任意字符3.删除任意字...

  • 最小编辑距离

    定义:两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它们越是不同。许可的编辑操作包...

  • 最小编辑距离

    1.定义 假设只有三种编辑方式:插入,删除,替换。每种编辑方式对应一次操作。按规定的编辑方式,将原始字符串变换到目...

  • 最小编辑距离

    求两个字符串最小编辑距离,word1->word2转换 word1的前i个字符串要想转换为word2的前j个字符串...

  • 最小编辑距离

    最小编辑距离 编辑距离有两种: Levenshtein距离: 允许插入,删除和替换一个字符, 最常见 Damera...

  • NLP-2012斯坦福课程第3课 基本问题

    一、最小编辑距离编辑距离(Minimum Edit Distance,MED),又称Levenshtein距离,是...

  • 72、最小编辑距离

    我太小看面试难度了,本来以为这样的题目不会遇到,但是小米面试的时候遇到了,好在没做出来也过了,所以一定要搞懂啊。 ...

网友评论

      本文标题:360经典笔试 最小编辑距离(python)

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