找到儘可能長的迴文串,JavaScript


給定一個字串 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

更新時間: 2020 年 11 月 21 日

349 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

立即開始
廣告
© . All rights reserved.