determine if two strings are in one edit distance
there are two cases we need to consider:
1.they are in the same length but one char different
2. they have exactly one char different with one length different
code is as follow.
def editone(str1,str2):
m=len(str1)
n=len(str2)
if m>n:
return editone(str2,str1)
##make sure len(str2)>len(str1)
if n-m>1:# if the dif is greater than 1 then false
return False
shift=n-m## see the dif
i=0
while i<m and str1[i]==str2[i]:
i+=1
if i==m:
return shift>0## if m==n and they are all the same return false
if shift==0:## otheriwse check they are only one char dif
i+=1
while i<m and str1[i]==str2[i+shift]:
i+=1
return i==m
print editone('a','b')
本文介绍了一种算法,用于判断两个字符串是否在一编辑距离之内。该算法考虑了两种情况:一是两个字符串长度相同但仅有一个字符不同;二是其中一个字符串比另一个多一个字符,且只有一个位置字符不同。通过具体代码实现,展示了如何高效地解决这一问题。
2102

被折叠的 条评论
为什么被折叠?



