La distance d'édition de Levenshtein entre deux chaînes est le nombre minimum possible d'insertions, de suppressions ou de substitutions pour convertir un mot en un autre mot. Dans ce cas, chaque insertion, suppression et substitution a un coût de 1.
Par exemple, la distance entre
roll
etrolling
est 3, car les suppressions coûtent 1, et nous devons supprimer 3 caractères. La distance entretoll
ettall
est 1, car les substitutions coûtent 1.
Votre tâche consiste à calculer la différence d'édition Levenshtein entre une chaîne d'entrée et votre source. Il s'agit de quine étiqueté , donc les quines de triche (par exemple, la lecture de votre code source) ne sont pas autorisées.
Règles
L'entrée sera non vide et sera composée d'ASCII, à moins que votre source ne contienne non ASCII, auquel cas l'entrée peut inclure Unicode. Quoi qu'il en soit, la distance Levenshtein sera mesurée en caractères, pas en octets.
La sortie est la distance d'édition Levenshtein minimale de l'entrée et de votre source.
C'est le code-golf , donc la réponse la plus courte, en octets, gagne.
Réponses:
Python 2 + sequtils , 101 octets
la source
Python 2 ,
278258 octetsEssayez-le en ligne!
Ceci est juste le quine habituel en Python, mélangé avec l'algorithme Levenshtein de cette réponse . Notez que cela devient
assezextrêmement lent (grâce à M. Xcoder: P).la source
l(s%s,input())
(pas sûr)?JavaScript, 113 octets
Ceci est un quine valide .
Idée volée d'une autre réponse.
la source