Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm độ dài chuỗi palindrome dài nhất có thể tạo trong JavaScript

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