summaryrefslogtreecommitdiffstats
path: root/labb2/lib.py
diff options
context:
space:
mode:
Diffstat (limited to 'labb2/lib.py')
-rwxr-xr-xlabb2/lib.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/labb2/lib.py b/labb2/lib.py
new file mode 100755
index 0000000..c2e12eb
--- /dev/null
+++ b/labb2/lib.py
@@ -0,0 +1,17 @@
+def minimum_edit_distance(s1, s2):
+ """Returnera minimum edit distance för strängarna s1 och s2)."""
+ # byt värde på s1 och s2 om s1 är den längre strängen
+ if len(s1) > len(s2):
+ s1, s2 = s2, s1
+ distances = range(len(s1) + 1)
+ for index2, char2 in enumerate(s2):
+ new_distances = [index2+1]
+ for index1, char1 in enumerate(s1):
+ if char1 == char2:
+ new_distances.append(distances[index1])
+ else:
+ new_distances.append(1 + min((distances[index1],
+ distances[index1+1],
+ new_distances[-1])))
+ distances = new_distances
+ return distances[-1]