Dies wurde durch eine jetzt entfernte CS.SE-Frage inspiriert .
Aufgabe
Geben Sie bei zwei nicht leeren Eingabezeichenfolgen A und B den kleinsten Abstand von A zu einem Palindrom aus, das B als Teilzeichenfolge enthält. Die Entfernung wird durch die Anzahl der Zeichenersetzungen ( Hamming-Entfernung ) definiert.
Beschränkungen
- Sinnvolle Eingabe: Ein Palindrom existiert. Dies bedeutet | A | ≥ | B |.
- A und B enthalten nur kleinere ASCII-Zeichen. Kleinbuchstaben und Großbuchstaben sind unterschiedlich (wie alle anderen Zeichen auch).
- Wenn Ihre Sprache keine ASCII-Zeichen verarbeiten kann, können Sie auch Ganzzahlen (oder einen anderen sinnvollen Datentyp) verwenden und den Bereich auf 128 Elemente beschränken.
- Sie können Eingaben über stdin, Funktionsargumente, Befehlszeilenargumente usw. vornehmen.
- Sie können das Ergebnis auf stdout, Rückgabewert usw. angeben.
- Sie müssen kein funktionierendes Palindrom angeben, der kleinste Abstand zu einem ist ausreichend.
Beispiele
A B Output
thilloaoyreot hello 4 (thelloaolleht)
benjonson stack 9 (stackcats)
neversaynever! odd 9 (neveroddoreven)
ppcggcpp gg 0 (ppcggcpp)
stars tat 1 (stats)
Wertung
Dies ist Code Golf, der kürzeste Code in Bytes gewinnt.