算法日常・每日刷题--<贪心>13

409. 最长回文串 - 力扣(LeetCode)409. 最长回文串 - 给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的 回文串 的长度。在构造过程中,请注意 区分大小写 。比如 "Aa" 不能当做一个回文字符串。 示例 1:输入:s = "abccccdd"输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。示例 2:输入:s = "a"输出:1解释:可以构造的最长回文串是"a",它的长度是 1。 提示: * 1 <= s.length <= 2000 * s 只由小写 和/或 大写英文字母组成https://leetcode.cn/problems/longest-palindrome/

题目描述

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

注意:区分大小写,'A' 和 'a' 视为两个不同字符;不需要用完所有字符。

核心思想:回文串中,字符成对分布;最多只能有一个字符放在中间作为对称轴。

cpp 复制代码
class Solution {
public:
    int longestPalindrome(string s) {
         int tmp[128]={0};
         int ret=0;
         int n=0;
        for(auto e:s)
        {
            tmp[e-'A']++;
        }
        for(auto e:tmp)
        {
            if(e%2!=0)
            n++;
            ret+=e/2*2;
        }
        if(n>0)
        return ret+1;
        return ret;
    }
};
相关推荐
晒太羊的猫5 分钟前
hot100动态规划刷题
算法·动态规划
weixin_5310946929 分钟前
heap_4内存管理
java·开发语言·算法
余额瞒着我当琳32 分钟前
红黑树的实现--红黑树的概念、规则、效率、结构、旋转、查找、验证
数据结构·c++·算法
程序员南飞36 分钟前
win系统安装minio
java·数据结构·算法
青少儿编程课堂38 分钟前
AC自动机多模式串匹配精讲:校园关键词巡检实战解析
c++·python·算法·bfs·信息学竞赛
longlongzihan1 小时前
LeetCode 5. 最长回文子串:从暴力匹配到中心扩展的思维演进
c++·算法·leetcode
waoooqwe1 小时前
问卷样本真实吗
大数据·数据库·算法·数据分析
苦瓜打怪兽1 小时前
leetcode 热题100(11. 盛最多水的容器)
python·算法·leetcode
w_zero_one2 小时前
链表(4)
java·数据结构·算法
吠品3 小时前
GitHub 周榜拆解:决策小模型扎堆上位
c语言·开发语言·算法