Files

23 lines
533 B
Python

def edit_distance(str1, str2):
return edit_distance_helper(str1, str2, len(str1) - 1, len(str2) - 1)
def edit_distance_helper(str1, str2, m, n):
if m == 0:
return n
if n == 0:
return m
if str1[m] == str2[n]:
return edit_distance_helper(str1, str2, m - 1, n - 1)
return (
min(
edit_distance_helper(str1, str2, m, n - 1),
edit_distance_helper(str1, str2, m - 1, n),
edit_distance_helper(str1, str2, m - 1, n - 1),
)
+ 1
)