使用动态规划计算,具体内容参见博客:
https://www.jianshu.com/p/9a53f32cf62b
def editDistance(str1, str2): ''' 计算字符串str1和str2的编辑距离 ''' edit = [[i+j for j in range(len(str2)+1)] for i in range(len(str1)+1)] for i in range(1,len(str1)+1): for j in range(1,len(str2)+1): if str1[i-1] == str2[j-1]: d = 0 else: d = 1 edit[i][j] = min(edit[i-1][j]+1,edit[i][j-1]+1,edit[i-1][j-1]+d) return edit[len(str1)][len(str2)] while True: try: print(editDistance(input(), input())) except: break