diff --git a/projects/003-string-edit-distance/python/main.py b/projects/003-string-edit-distance/python/main.py index e69de29..321c99c 100644 --- a/projects/003-string-edit-distance/python/main.py +++ b/projects/003-string-edit-distance/python/main.py @@ -0,0 +1,18 @@ +def edit_distance(s, t): + + if len(s) == 0: + return len(t) + + elif len(t) == 0: + return len(s) + + else: + cost = 0 + + if s[-1] != t[-1]: + cost += 1 + d1 = edit_distance(s[:-1], t) + 1 + d2 = edit_distance(s, t[:-1]) + 1 + d3 = edit_distance(s[:-1], t[:-1]) + cost + + return min(d1, d2, d3)