Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm độ dài của chuỗi palindrome dài nhất có thể JavaScript

Cho một chuỗi s bao gồm các chữ cái viết thường hoặc viết hoa, chúng tôi bắt buộc phải trả về độ dài của palindrome dài nhất có thể được tạo bằng các chữ cái đó. Các chữ cái có phân biệt chữ hoa chữ thường, ví dụ:"Aa" không được coi là một palindrome ở đây.

Ví dụ -

Nếu chuỗi đầu vào là -

const str = "abccccdd";

thì đầu ra phải là 7,

bởi vì, một palindrome dài nhất có thể được tạo là "dccaccd", có độ dài là 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));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

7