Zadanie 3: Odległość Levenshteina - levenshtein_distance
(1 pkt)
Zaimplementuj funkcję obliczającą odległość Levenshteina (edycyjną) między dwoma ciągami znaków:
def levenshtein_distance(s1: str, s2: str) -> int:
"""
Oblicza odległość Levenshteina między dwoma ciągami znaków.
Args:
s1: Pierwszy ciąg znaków
s2: Drugi ciąg znaków
Returns:
Odległość Levenshteina (minimalna liczba operacji wstawienia, usunięcia
lub zamiany znaku potrzebnych do przekształcenia s1 w s2)
"""
pass
Twoje zadanie:
- Zaimplementuj funkcję obliczającą odległość Levenshteina między dwoma ciągami znaków
- Obsłuż przypadki brzegowe (puste ciągi)
- Zastanów się, jak zoptymalizować zużycie pamięci w przypadku długich ciągów
Przykład:
s1 = "kitten"
s2 = "sitting"
levenshtein_distance(s1, s2) = 3
s1 = "sobota"
s2 = "robota"
levenshtein_distance(s1, s2) = 1
Last updated on