题解 | #计算字符串的编辑距离#

计算字符串的编辑距离

https://www.nowcoder.com/practice/3959837097c7413a961a135d7104c314

#思路来自高赞解答,仅练习记录用
def cal(a,b):
    array = [[x for x in range(len(a)+1)] for y in range(len(b)+1)] #创建矩阵,+1使得有0行0列
    for w in range(1, len(b)+1): #对0列赋值(0行已在上一步赋值)
        array[w][0] = array[w-1][0] + 1
    for i in range(1, len(b)+1): #遍历每行
        for j in range(1, len(a)+1): #遍历每行中的每一项
            if b[i-1] == a[j-1]: #若当前字符相同,步骤数拷贝左上角的值
                array[i][j] = array[i-1][j-1]
            else: #否则,取(左上,上,左)中最小值+1
                a1 = array[i-1][j-1]
                a2 = array[i-1][j]
                a3 = array[i][j-1]
                array[i][j] = min(a1,a2,a3)+1
    return array[-1][-1]

while True:
    try:
        x = input()
        y = input()
    except:
        break
    else:
        print(cal(x,y))

全部评论

相关推荐

程序员牛肉:你这其实一点都没包装,标准的流水线产品。 实习现在不一定能解决你的问题,你太浮躁了。你看了多少源码?看了多少技术博客?真的没必要这么浮躁的着急找实习,沉下心来学习
投递实习岗位前的准备
点赞 评论 收藏
分享
10-13 13:49
南京大学 财务
饿魔:笑死我了,你简直是个天才
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务