Su tarea es determinar qué tan palíndromo perfecto es una cuerda. Su palíndromo típico (por ejemplo, 12321) es un palíndromo perfecto; su perfección es 1.
Para determinar la perfección de una cadena, puede ver cuántas secciones puede dividir en donde cada sección es un palíndromo. Si hay ambigüedades, como con aaaa, como se puede dividirlo en [aa, aa]o [aaaa], o [a, aaa], o [aaa, a], el conjunto más corto anulará, dando aaaauna puntuación de 1, que es la longitud de la serie más corta.
Por lo tanto, debe escribir un programa o función que tome una entrada y salida no vacía y cuán perfecta sea (que es la longitud del conjunto más corto que puede dividir en donde cada elemento del conjunto es un palíndromo).
Ejemplos:
1111 -> 1 [1111]
abcb -> 2 [a, bcb]
abcbd -> 3 [a, bcb, d]
abcde -> 5 [a, b, c, d, e]
66a -> 2 [66, a]
abcba-> 1 [abcba]
x -> 1 [x]
ababacab -> 2 [aba, bacab]
bacababa -> 2 [bacab, aba]
26600 -> 3 [2, 66, 00] [my user id] [who has a more perfect user id?]
ababacabBACABABA -> 4 [aba, bacab, BACAB, ABA]
Tenga en cuenta que en los ejemplos, cualquier cosa entre corchetes no debería ser parte de la salida.
ababacaby su reverso, bacababaparecen ser buenos casos de prueba.
ababacabBACABABATambién es un buen caso de prueba (algunas respuestas fallan).