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

计算字符串的编辑距离

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

前辈花了那么大精力研究出来的规律,说实话,不经过学习很难很难解题。但是搞懂规律之后如此简单:

while 1:
	try:
    	str1, str2 = input(), input()
		m, n = len(str1), len(str2)
		dp = [[0 for j in range(n+1)] for i in range(m+1)]
        for i in range(m+1):
        	dp[i][0] = i
		for j in range(n+1):
        	dp[0][j] = j
		for i in range(1, m+1):
        	for j in range(1, n+1):
            	if str1[i-1] == str2[j-1]:
                	dp[i][j] = dp[i-1][j-1]
				else:
                	dp[i][j] = min(dp[i-1][j-1], dp[i-1][j], dp[i][j-1]) + 1
		print(dp[m][n])
	except:
		break
全部评论
太难,学不会
1 回复 分享
发布于 2022-07-25 18:38
s1=hiadf s2=axcd 输入字符串如上, 人工看, 结果应该为5, 但是用动态规划来计算,结果是4, 所以在特殊情况下, 不适合。
1 回复 分享
发布于 2022-04-29 17:14
测了下我的数组越界了
点赞 回复 分享
发布于 2023-04-24 12:19 广东
关键是这个状态转移方程是怎么想到的呢
点赞 回复 分享
发布于 2022-10-13 12:26 广东

相关推荐

03-02 08:18
集美大学 Java
钱嘛数字而已:没有赛事奖项么?另外,项目经历字有点多哈,建议突出一下重点:用的什么技术,解决什么问题,达到什么效果。
大家都开始春招面试了吗
点赞 评论 收藏
分享
评论
10
6
分享

创作者周榜

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