Menu
CoddyTech

Longest Palindrome

FácilHashingVorazpython iconjava iconcpp iconc iconjs icon+10

Recibes una cadena s formada por letras mayúsculas y minúsculas. Reordena sus letras para formar el palíndromo más largo que puedas y devuelve la longitud de ese palíndromo. Puedes poner las letras en cualquier orden y omitir algunas, pero puedes usar cada letra como máximo tantas veces como aparezca en s.

Las mayúsculas y las minúsculas son letras diferentes, así que Aa no es un palíndromo.

Función

longestPalindrome(s: string) → integer
sstring
las letras que puedes usar, en mayúsculas y minúsculas
Devuelveinteger
la longitud del palíndromo más largo que puedes formar con esas letras

Restricciones

  • 1 ≤ s.length ≤ 5 × 104
  • s contiene solo letras inglesas, de la a a la z y de la A a la Z.
  • No tienes que usar todas las letras.

Ejemplos

Entrada
s = "coddyCode"
Salida
5
Explicación
o aparece dos veces y d tres veces; las demás, una vez. Un par de o, un par de d y una letra restante en el medio dan una longitud de 5, por ejemplo, doCod.
challenge icon

Para ir más allá

¿Puedes devolver un palíndromo de longitud máxima junto con su longitud, todavía en tiempo O(n)?

Restablecer código
def longestPalindrome(s):
    # Escribe el código aquí

Prueba #1

Prueba #2

Prueba #3

Argumento

s = "coddyCode"

Salida Esperada

5