Python使用动态规划法计算两个单词之间的距离
""" 作者:皮蛋编程(https://www.pidancode.com) 创建日期:2022/3/18 修改日期:2022/3/18 功能描述:Python使用动态规划法计算两个单词之间的距离 """ def word_distance(m, n): """动态规划算法,计算单词距离""" len_1 = lambda x: len(x) + 1 c = [[i] for i in range(0, len_1(m))] c[0] = [j for j in range(0, len_1(n))] for i in range(0, len(m)): for j in range(0, len(n)): c[i + 1].append( min( c[i][j + 1] + 1, # 插入n[j] c[i + 1][j] + 1, # 删除m[j] c[i][j] + (0 if m[i] == n[j] else 1) # 改 ) ) return c[-1][-1] print(word_distance('pidancode', 'pidancode.com')) print(word_distance('皮蛋编程', '皮蛋编程网'))
输出结果:
4
1
以上代码在Python3.9环境下运行通过。
相关文章