409. 最长回文串

409. 最长回文串 - 力扣(LeetCode)

给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的 回文串 的长度。

在构造过程中,请注意 区分大小写 。比如 "Aa" 不能当做一个回文字符串。

示例 1:

复制代码
输入:s = "abccccdd"
输出:7
解释:
我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。

示例 2:

复制代码
输入:s = "a"
输出:1
解释:可以构造的最长回文串是"a",它的长度是 1。

题解·

cpp 复制代码
class Solution {
public:
    int longestPalindrome(string s) {
        map<char,int> dp;
        for(int i=0;i<s.size();i++){
            dp[s[i]] +=1;
        }
        int res = 0;
        int ins = 0;
        for(const auto& [key,value] : dp){
            if(value%2==0){
                res +=value;
            }else{
                res +=value-1;
                ins =1;
            }
        }
        res +=ins;
        return res;
    }
};
相关推荐
cxr828几秒前
控制理论基础
人工智能·算法
平平淡淡才是true14 分钟前
偏序关系、哈斯图、最长链长度、最长链条数
算法
小钊(求职中)18 分钟前
算法知识、常用方法总结
java·算法·排序算法·力扣
paeamecium23 分钟前
【PAT甲级真题】- Talent and Virtue (25)
数据结构·c++·算法·pat
Mr_Xuhhh29 分钟前
蓝桥杯复习清单真题(C++版本)
c++·算法·蓝桥杯
tankeven30 分钟前
HJ163 时津风的资源收集
c++·算法
森G38 分钟前
40、对话框---------事件系统
c++·qt
Boop_wu40 分钟前
[Java 算法] 动态规划(4)
数据结构·算法·leetcode
旖-旎42 分钟前
分治(计算右侧小于当前元素的个数)(7)
c++·学习·算法·leetcode·排序算法·归并排序
迷海1 小时前
C++内存对齐
开发语言·c++