Menu
CoddyTech

Longest Palindrome

やさしいハッシュ貪欲法python iconjava iconcpp iconc iconjs icon+10

大文字と小文字が混在する文字列 s が与えられます。文字を並べ替えて、できるだけ長い回文を作り、その回文の長さを返してください。文字はどのような順番に並べてもよく、一部を使わなくてもかまいませんが、各文字を使える回数は s に現れる回数までです。

大文字と小文字は異なる文字として扱われるため、Aa は回文ではありません。

関数

longestPalindrome(s: string) → integer
sstring
使用できる文字(大文字と小文字)
戻り値integer
それらの文字から作ることができる最長の回文の長さ

制約

  • 1 ≤ s.length ≤ 5 × 104
  • sには英字のaからzまでとAからZまでのみが含まれます。
  • すべての文字を使う必要はありません。

例

入力
s = "coddyCode"
出力
5
説明
oは2回、dは3回現れ、残りはそれぞれ1回です。oのペア、dのペア、そして中央に残った1文字で長さは5になります。たとえば、doCodです。
challenge icon

発展問題

最長の回文そのものを、その長さとともに、依然として O(n) 時間で返せますか?

コードをリセット
def longestPalindrome(s):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

s = "coddyCode"

期待される出力

5