Der Levenshtein-Bearbeitungsabstand zwischen zwei Zeichenfolgen ist die minimal mögliche Anzahl von Einfügungen, Löschungen oder Ersetzungen, um ein Wort in ein anderes Wort umzuwandeln. In diesem Fall kostet jedes Einfügen, Löschen und Ersetzen 1.
Zum Beispiel beträgt der Abstand zwischen
roll
undrolling
3, da Löschungen 1 kosten und wir 3 Zeichen löschen müssen. Der Abstand zwischentoll
undtall
beträgt 1, da Substitutionen 1 kosten.
Ihre Aufgabe ist es, die Levenshtein-Bearbeitungsdifferenz zwischen einer Eingabezeichenfolge und Ihrer Quelle zu berechnen. Dies ist als Quine gekennzeichnet , daher ist das Betrügen von Quines (z. B. Lesen Ihres Quellcodes) nicht zulässig.
Regeln
Die Eingabe ist nicht leer und besteht aus ASCII, es sei denn, Ihre Quelle enthält Nicht-ASCII. In diesem Fall kann die Eingabe Unicode enthalten. Unabhängig davon wird der Levenshtein-Abstand in Zeichen und nicht in Bytes gemessen.
Die Ausgabe ist der minimale Levenshtein-Bearbeitungsabstand zwischen der Eingabe und Ihrer Quelle.
Dies ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes.
Antworten:
Python 2 + sequtils , 101 Bytes
quelle
Python 2 ,
278258 BytesProbieren Sie es online aus!
Dies ist nur das übliche Quine in Python, gemischt mit dem Levenshtein-Algorithmus aus dieser Antwort . Beachten Sie, dass es wird
ganzextrem (Dank an Herrn Xcoder: P) langsam.quelle
l(s%s,input())
(nicht sicher)?JavaScript, 113 Bytes
Dies ist eine gültige Quine.
Idee aus anderer Antwort gestohlen.
quelle