Explication
La distance d'édition entre deux chaînes est fonction du nombre minimal possible d'insertions, de suppressions ou de substitutions pour convertir un mot en un autre mot.
Les insertions et les suppressions coûtent 1 et les substitutions coûtent 2.
Par exemple, la distance entre AB
et A
est 1, car les suppressions coûtent 1 et la seule modification nécessaire est la suppression du B
caractère.
La distance entre CAR
et FAR
est 2, car les substitutions coûtent 2. Une autre façon de voir cela est une suppression et une insertion.
Règles
Étant donné deux chaînes d'entrée (fournies cependant est pratique dans votre langue), votre programme doit trouver la distance d'édition minimale entre les deux chaînes.
Vous pouvez supposer que les chaînes contiennent uniquement les caractères A-Z
et ont moins de 100 caractères et plus de 0 caractères.
C'est le golf de code , donc la solution la plus courte l'emporte.
Exemples de cas de test
ISLANDER, SLANDER
> 1
MART, KARMA
> 5
KITTEN, SITTING
> 5
INTENTION, EXECUTION
> 8
levenshtein
fonction intégrée traite les substitutions comme une seule modification (substitut) et non deux (suppression + insertion).