Wyjaśnienie
Odległość edytować między dwóch ciągów jest funkcją minimalnej możliwej liczby insercji, delecji lub podstawienia do konwersji jednego słowa do słowa.
Wstawienia i usunięcia kosztują 1, a zamiany kosztują 2.
Na przykład odległość między ABi Awynosi 1, ponieważ usunięcie kosztuje 1, a jedyną potrzebną edycją jest usunięcie Bznaku.
Odległość między CARi FARwynosi 2, ponieważ podstawienia kosztują 2. Innym sposobem na to jest jedno usunięcie i jedno wstawienie.
Zasady
Biorąc pod uwagę dwa ciągi wejściowe (dostarczone jest jednak wygodne w twoim języku), twój program musi znaleźć minimalną odległość edycji między tymi dwoma ciągami.
Możesz założyć, że ciągi zawierają tylko znaki A-Zi mają mniej niż 100 znaków i więcej niż 0 znaków.
To jest golf golfowy , więc wygrywa najkrótsze rozwiązanie.
Przykładowe przypadki testowe
ISLANDER, SLANDER
> 1
MART, KARMA
> 5
KITTEN, SITTING
> 5
INTENTION, EXECUTION
> 8
levenshteinfunkcja traktuje podstawienia jako jedną edycję (zastępowanie), a nie dwie (usuwanie + wstawianie).