Dada una cadena l, encuentre todas las subcadenas palindrómicas pde l(incluidas las cadenas duplicadas y de un solo carácter). A continuación, reorganice todas las subcadenas en pun palíndromo válido (puede haber múltiples respuestas correctas). Si no es posible reorganizar pen un solo palíndromo, su programa puede tener un comportamiento indefinido (error, desbordamiento de pila, salir, colgar / asesinato prematuro de John Dvorak, etc.)
Ejemplos
Casos de prueba 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 prueba inválidos (no es posible)
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>
Reglas
- Si la palabra de entrada es un palíndromo, siempre será válida como entrada.
- Solo debe devolverse una subcadena, la que elija es arbitraria siempre que sea válida.
- Si la entrada no tiene salida viable, su código puede tener un comportamiento indefinido.
- Las entradas solo contendrán caracteres imprimibles en ASCII entre
0x20-0x7E. - Este es el código de golf , el conteo de bytes más bajo es el ganador.
"abbccdd"es incorrecto: las dos últimas letras deben ser"bb", no"dd".