Cho chuỗi s bao gồm chữ thường hoặc chữ hoa, yêu cầu trả về độ dài palindrome dài nhất có thể xây dựng từ các chữ cái đó. Phân biệt chữ hoa/thường, ví dụ "Aa" không được coi là palindrome.
Ví dụ:
Nếu chuỗi đầu vào là:
const str = "abccccdd";
Kết quả là 7,
vì palindrome dài nhất có thể xây dựng là "dccaccd", độ dài 7.
Ví dụ
const str = "abccccdd";
const longestPalindrome = (str) => {
const set = new Set();
let count = 0;
for (const char of str) {
if (set.has(char)) {
count += 2; set.delete(char);
}
else {
set.add(char);
}
}
return count + (set.size > 0 ? 1 : 0);
};
console.log(longestPalindrome(str));Kết quả
Kết quả in ra console:
7