解题思路:
注意事项:
a = list(input()) b = list(input()) dp = [[0 for i in range(len(b)+1)]for j in range(len(a)+1)] for i in range(len(b)+1): dp[0][i]=i for i in range(len(a)+1): dp[i][0] = i for i in range(1,len(a)+1): for j in range(1,len(b)+1): if a[i-1]==b[j-1]: dp[i][j]=dp[i-1][j-1]#若相等就等于上一层的次数操作数不变 else: dp[i][j]=min(dp[i-1][j]+1,dp[i][j-1]+1,dp[i-1][j-1]+1)#分别对应删除增加修改三种操作 print(dp[len(a)][len(b)])
0.0分
0 人评分
川哥的吩咐 (C语言代码)浏览:874 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:575 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:521 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:588 |
回文串 (C语言代码)浏览:2855 |
字符串的输入输出处理 (C语言代码)浏览:926 |
简单的a+b (C语言代码)浏览:812 |
字符逆序 (C语言代码)浏览:459 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1914 |
矩形面积交 (C语言代码)浏览:1301 |