ภาพรวม
ให้สตริง s ที่ประกอบด้วยตัวอักษรพิมพ์เล็กหรือใหญ่ เราต้องคืนค่าความยาวของพาลินโดรมที่ยาวที่สุดที่สร้างได้จากตัวอักษรเหล่านั้น ตัวอักษรคำนึงถึงพิมพ์เล็ก/ใหญ่ (เช่น "Aa" ไม่ใช่พาลินโดรม)
ตัวอย่าง
อินพุต: const str = "abccccdd";
เอาต์พุต: 7 เพราะพาลินโดรมที่ยาวที่สุดคือ "dccaccd" ความยาว 7
ตัวอย่างโค้ด
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));
ผลลัพธ์ในคอนโซล
7