输入:s = "abccccdd" 输出:7 解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。
贪心算法实现,用map缓存数据,空间换时间,考虑偶数字符,奇数字符两种情况下的结果输出,最长字符
const longestPalindrome = function(s:string):number{
const map = new Map();
for(let i = 0; i < s.length; i++){
map.set(s[i], (map.get(s[i]) || 0) + 1);
}
let result = 0;
for(let value of map.values()){
result += Math.floor(value / 2) * 2;
}
return result !== s.length ? result + 1 : result;
};
博客探讨了如何运用贪心算法来找到字符串中的最长回文子串。通过建立映射表存储字符出现次数,优先考虑偶数次出现的字符,并结合奇数次出现的字符构建最长回文串。最终实现代码展示了如何在JavaScript中实现这一方法。
344

被折叠的 条评论
为什么被折叠?



