Dada uma sequência l, encontre todas as substrings palindrômicas pde l(incluindo duplicatas e cadeias de caracteres únicos). Em seguida, reorganize todas as sub-strings em pum palíndromo válido (pode haver várias respostas corretas). Se não for possível reorganizar pem um único palíndromo, seu programa poderá ter um comportamento indefinido (erro, estouro de pilha, saída, suspensão / assassinato prematuro de John Dvorak, etc ...)
Exemplos
Casos de teste válidos
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
Casos de teste inválidos (não é possível)
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>
Regras
- Se a palavra de entrada for um palíndromo, ela sempre será válida como entrada.
- Somente uma substring deve ser retornada, e a que você escolher é arbitrária, desde que válida.
- Se a entrada não tiver saída viável, seu código pode ter um comportamento indefinido.
- As entradas conterão apenas caracteres imprimíveis ASCII entre
0x20-0x7E. - Este é o código-golfe , o menor número de bytes é o vencedor.
"abbccdd"está errado: as duas últimas letras devem estar"bb", não"dd".