Erläuterung
Der Bearbeitungsabstand zwischen zwei Zeichenfolgen ist eine Funktion der minimal möglichen Anzahl von Einfügungen, Löschungen oder Ersetzungen, um ein Wort in ein anderes Wort umzuwandeln.
Einfügungen und Löschungen kosten 1 und Ersetzungen 2.
Der Abstand zwischen ABund Abeträgt beispielsweise 1, da Löschvorgänge 1 kosten und nur die Löschung des BZeichens erforderlich ist .
Der Abstand zwischen CARund FARist 2, weil Ersetzungen 2 kosten. Eine andere Sichtweise ist eine Löschung und eine Einfügung.
Regeln
Wenn Sie zwei eingegebene Zeichenfolgen angeben (dies ist jedoch in Ihrer Sprache praktisch), muss Ihr Programm den minimalen Bearbeitungsabstand zwischen den beiden Zeichenfolgen ermitteln.
Sie können davon ausgehen, dass die Zeichenfolgen nur die Zeichen enthalten A-Zund weniger als 100 Zeichen und mehr als 0 Zeichen haben.
Das ist Codegolf , also gewinnt die kürzeste Lösung.
Beispiel-Testfälle
ISLANDER, SLANDER
> 1
MART, KARMA
> 5
KITTEN, SITTING
> 5
INTENTION, EXECUTION
> 8
levenshteinFunktion behandelt Ersetzungen als eine Bearbeitung (Ersetzung), nicht als zwei (Löschen + Einfügen).