lSuchen Sie bei gegebener Zeichenfolge alle palindromischen Teilzeichenfolgen pvon l(einschließlich Duplikaten und Einzelzeichenfolgen). Ordnen Sie anschließend alle Unterzeichenfolgen pin einem gültigen Palindrom neu an (möglicherweise gibt es mehrere richtige Antworten). Wenn es nicht möglich ist, pin ein einzelnes Palindrom umzuordnen, weist Ihr Programm möglicherweise ein undefiniertes Verhalten auf (Fehler, Stapelüberlauf, Beenden, Hängen / vorzeitiger Mord an John Dvorak usw.).
Beispiele
Gültige Testfälle
l = anaa
p = ['a', 'n', 'a', 'a', 'aa', 'ana']
result = anaaaaana or aanaaanaa or aaananaaa
l = 1213235
p = ['1', '2', '1', '3', '2', '3', '5', '121', '323']
result = 1213235323121
l = racecar
p = ['r', 'a', 'c', 'e', 'c', 'a', 'r', 'cec', 'aceca', 'racecar']
result = racecarcecaacecracecar (there are others)
l = 11233
p = ['1', '11', '1', '2', '3', '33', '3']
result = 113323311 or 331121133
l = abbccdd
p = ['a', 'b', 'bb', 'b', 'c', 'cc', 'c', 'd', 'dd', 'd']
result = bbccddaddccbb or ccbbddaddbbcc or (etc...)
l = a
p = ['a']
result = a
Ungültige Testfälle (nicht möglich)
l = 123456789
p = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
result = <not possible, behavior undefined>
l = hjjkl
p = ['h', 'j', 'jj', 'j', 'k', 'l']
result = <not possible, behavior undefined>
l = xjmjj
p = ['x', 'j', 'jmj', 'm', 'j', 'jj', 'j']
result = <not possible, behavior undefined>
Regeln
- Wenn das Eingabewort selbst ein Palindrom ist, ist es immer als Eingabe gültig.
- Es sollte nur ein Teilstring zurückgegeben werden, der beliebig ist, solange er gültig ist.
- Wenn die Eingabe keine brauchbare Ausgabe enthält, weist Ihr Code möglicherweise ein undefiniertes Verhalten auf.
- Eingaben enthalten nur ASCII-druckbare Zeichen zwischen
0x20-0x7E. - Das ist Code-Golf , die niedrigste Byteanzahl ist der Gewinner.
"abbccdd"ist falsch: Die letzten beiden Buchstaben sollten"bb"nicht sein"dd".