Menu
CoddyTech

Longest Palindrome

LeichtHashingGreedypython iconjava iconcpp iconc iconjs icon+10

Du erhältst eine Zeichenfolge s aus Groß- und Kleinbuchstaben. Ordne ihre Buchstaben neu an, um das längste mögliche Palindrom zu bilden, und gib die Länge dieses Palindroms zurück. Du kannst die Buchstaben beliebig anordnen und einige weglassen, aber jeden Buchstaben höchstens so oft verwenden, wie er in s vorkommt.

Groß- und Kleinbuchstaben sind unterschiedliche Buchstaben, daher ist Aa kein Palindrom.

Funktion

longestPalindrome(s: string) → integer
sstring
die Buchstaben, die du verwenden darfst, in Groß- und Kleinschreibung
Gibt zurückinteger
die Länge des längsten Palindroms, das du aus diesen Buchstaben bilden kannst

Einschränkungen

  • 1 ≤ s.length ≤ 5 × 104
  • s enthält nur englische Buchstaben, a bis z und A bis Z.
  • Du musst nicht jeden Buchstaben verwenden.

Beispiele

Eingabe
s = "coddyCode"
Ausgabe
5
Erklärung
o kommt zweimal vor und d dreimal, die übrigen jeweils einmal. Ein Paar os, ein Paar ds und ein übrig gebliebener Buchstabe in der Mitte ergeben die Länge 5, zum Beispiel doCod.
challenge icon

Weiterführende Frage

Kannst du auch ein längstes Palindrom selbst zusammen mit seiner Länge weiterhin in O(n)-Zeit zurückgeben?

Code zurücksetzen
def longestPalindrome(s):
    # Schreibe hier den Code

Test #1

Test #2

Test #3

Argument

s = "coddyCode"

Erwartete Ausgabe

5