算法日常・每日刷题--<贪心>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;
    }
};
相关推荐
拓恒技术6 小时前
无人机巡检AI算法的工程化落地:从需求到交付的5个核心环节
人工智能·算法·无人机
晨曦中的暮雨6 小时前
限流算法——固定窗口、滑动窗口、漏桶、令牌桶
java·开发语言·算法
怕浪猫6 小时前
Claude Code vs Codex:Computer Use 实现原理深度拆解
算法·面试·github
罗西的思考8 小时前
AI 时代的 “房谋杜断”:如何培养能力、品味与判断力
人工智能·算法·机器学习
淡海水8 小时前
07-02-源码-.NET Core GC分配路径
算法·unity·c#·.netcore·gc·1024程序员节
下一站春风里10 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
DRobot10 小时前
【机械制图与CAD实战(二十五)】螺纹的表示方法
算法·机械制图
用户老李11 小时前
卡尔曼滤波自学教程 10:无迹卡尔曼滤波(UKF)
算法
深圳市益普科技有限公司12 小时前
半导体良率管理YMS:良率与设备参数的相关性,先拉哪几组数据
人工智能·python·算法
程序员清风13 小时前
算法题中的边界条件、测试与调试
开发语言·算法·kotlin