Mengingat string l, menemukan semua substring palindromic pdari l(termasuk duplikat dan string karakter tunggal). Selanjutnya, atur ulang semua sub-string pmenjadi palindrome yang valid (mungkin ada beberapa jawaban yang benar). Jika tidak mungkin untuk mengatur ulang pmenjadi satu palindrom tunggal, program Anda mungkin memiliki perilaku yang tidak terdefinisi (kesalahan, stack-overflow, keluar, menggantung / pembunuhan John Dvorak, dll ...)
Contohnya
Kasus Uji yang valid
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
Kasus Uji Tidak Valid (Tidak Mungkin)
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>
Aturan
- Jika kata input adalah palindrome itu sendiri, itu akan selalu berlaku sebagai input.
- Hanya satu substring yang harus dikembalikan, mana yang Anda pilih sewenang-wenang asalkan valid.
- Jika input tidak memiliki output yang layak, kode Anda mungkin memiliki perilaku yang tidak terdefinisi.
- Input hanya akan berisi karakter ASCII-Printable
0x20-0x7E. - Ini adalah kode-golf , byte-count terendah adalah pemenangnya.
"abbccdd"adalah salah: dua huruf terakhir seharusnya"bb", bukan"dd".