Skip to Content
RozdziałyWyszukiwanie wzorców (2)Odległość Levenshteina

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:

  1. Zaimplementuj funkcję obliczającą odległość Levenshteina między dwoma ciągami znaków
  2. Obsłuż przypadki brzegowe (puste ciągi)
  3. 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