Menu
CoddyTech

Longest Palindrome

Kamu mendapatkan string s yang terdiri dari huruf besar dan huruf kecil. Susun ulang huruf-hurufnya untuk membentuk palindrome sepanjang mungkin, lalu kembalikan panjang palindrome tersebut. Kamu boleh mengatur huruf dalam urutan apa pun dan tidak menggunakan beberapa huruf, tetapi kamu hanya boleh menggunakan setiap huruf sebanyak jumlah kemunculannya di s.

Huruf besar dan huruf kecil dianggap sebagai huruf yang berbeda, jadi Aa bukan palindrome.

Fungsi

longestPalindrome(s: string) → integer
sstring
huruf yang boleh kamu gunakan, huruf besar dan huruf kecil
Mengembalikaninteger
panjang palindrom terpanjang yang bisa kamu buat dari huruf-huruf tersebut

Batasan

  • 1 ≤ s.length ≤ 5 × 104
  • s hanya berisi huruf alfabet Inggris, a hingga z dan A hingga Z.
  • Kamu tidak harus menggunakan setiap huruf.

Contoh

Input
s = "coddyCode"
Output
5
Penjelasan
o muncul dua kali dan d muncul tiga kali, sisanya masing-masing sekali. Sepasang o, sepasang d, dan satu huruf tersisa di tengah menghasilkan panjang 5, misalnya doCod.
challenge icon

Pertanyaan lanjutan

Bisakah kamu mengembalikan satu palindrom terpanjang itu sendiri, beserta panjangnya, tetap dalam waktu O(n)?

Reset kode
def longestPalindrome(s):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

s = "coddyCode"

Output yang diharapkan

5