Menu
CoddyTech

Longest Palindrome

FacileHashingGreedypython iconjava iconcpp iconc iconjs icon+10

Ricevi una stringa s composta da lettere maiuscole e minuscole. Riordina le sue lettere per costruire il palindromo più lungo possibile e restituisci la lunghezza di quel palindromo. Puoi disporre le lettere in qualsiasi ordine e ometterne alcune, ma puoi usare ogni lettera al massimo tante volte quante appare in s.

Le lettere maiuscole e minuscole sono considerate diverse, quindi Aa non è un palindromo.

Funzione

longestPalindrome(s: string) → integer
sstring
le lettere che puoi usare, sia maiuscole che minuscole
Restituisceinteger
la lunghezza del palindromo più lungo che puoi costruire con quelle lettere

Vincoli

  • 1 ≤ s.length ≤ 5 × 104
  • s contiene solo lettere inglesi, da a a z e da A a Z.
  • Non devi usare tutte le lettere.

Esempi

Input
s = "coddyCode"
Output
5
Spiegazione
o compare due volte e d tre volte, il resto una volta. Una coppia di o, una coppia di d e una lettera rimanente al centro danno una lunghezza di 5, per esempio doCod.
challenge icon

Per approfondire

Riesci a restituire uno dei palindromi più lunghi, insieme alla sua lunghezza, sempre in tempo O(n)?

Ripristina il codice
def longestPalindrome(s):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomento

s = "coddyCode"

Output atteso

5