Menu
CoddyTech

Longest Palindrome

FácilHashingGulosopython iconjava iconcpp iconc iconjs icon+10

Você recebe uma string s com letras maiúsculas e minúsculas. Reorganize suas letras para formar o maior palíndromo possível e retorne o comprimento desse palíndromo. Você pode colocar as letras em qualquer ordem e deixar algumas de fora, mas pode usar cada letra no máximo tantas vezes quantas ela aparece em s.

Letras maiúsculas e minúsculas são diferentes, então Aa não é um palíndromo.

Função

longestPalindrome(s: string) → integer
sstring
as letras que você pode usar, maiúsculas e minúsculas
Retornainteger
o comprimento do maior palíndromo que você pode formar com essas letras

Restrições

  • 1 ≤ s.length ≤ 5 × 104
  • s contém apenas letras do alfabeto inglês, a a z e A a Z.
  • Você não precisa usar todas as letras.

Exemplos

Entrada
s = "coddyCode"
Saída
5
Explicação
o aparece duas vezes e d três vezes; as demais letras aparecem uma vez. Um par de letras o, um par de letras d e uma letra restante no meio dão comprimento 5, por exemplo doCod.
challenge icon

Para ir além

Você consegue retornar o próprio palíndromo mais longo, junto com seu comprimento, ainda em tempo O(n)?

Redefinir código
def longestPalindrome(s):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumento

s = "coddyCode"

Saída Esperada

5