Menu
CoddyTech

Longest Palindrome

Vous recevez une chaîne s composée de lettres majuscules et minuscules. Réorganisez ses lettres pour former le plus long palindrome possible et renvoyez la longueur de ce palindrome. Vous pouvez placer les lettres dans n’importe quel ordre et en laisser certaines de côté, mais vous ne pouvez utiliser chaque lettre qu’au plus autant de fois qu’elle apparaît dans s.

Les majuscules et les minuscules sont des lettres différentes, donc Aa n’est pas un palindrome.

Fonction

longestPalindrome(s: string) → integer
sstring
les lettres que vous pouvez utiliser, en majuscules et en minuscules
Renvoieinteger
la longueur du plus long palindrome que tu peux construire avec ces lettres

Contraintes

  • 1 ≤ s.length ≤ 5 × 104
  • s contient uniquement des lettres anglaises, de a à z et de A à Z.
  • Tu n’as pas besoin d’utiliser toutes les lettres.

Exemples

Entrée
s = "coddyCode"
Sortie
5
Explication
o apparaît deux fois et d trois fois, les autres une fois. Une paire de o, une paire de d et une lettre restante au milieu donnent une longueur de 5, par exemple doCod.
challenge icon

Pour aller plus loin

Pouvez-vous renvoyer le palindrome lui-même, le plus long, ainsi que sa longueur, toujours en temps O(n) ?

Réinitialiser le code
def longestPalindrome(s):
    # Écrivez le code ici

Test #1

Test #2

Test #3

Argument

s = "coddyCode"

Résultat attendu

5