Mengingat string l
, menemukan semua substring palindromic p
dari l
(termasuk duplikat dan string karakter tunggal). Selanjutnya, atur ulang semua sub-string p
menjadi palindrome yang valid (mungkin ada beberapa jawaban yang benar). Jika tidak mungkin untuk mengatur ulang p
menjadi 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"
.