当前位置: 首页 > news >正文

力扣刷题---409. 最长回文串【简单】

在这里插入图片描述


题目描述

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

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

示例 1:

输入:s = “abccccdd”
输出:7
解释:
我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。
示例 2:

输入:s = “a”
输出:1
示例 3:

输入:s = “aaaaaccc”
输出:7


算法分析

标签:哈希表

1.先用哈希表存储每种字符的出现次数
2.字符长度是偶数的直接假如count(结果)
3.字符长度是奇数的,先-1,变成偶数再假如count。
4.定义一个标签flg,判断是否有奇数,若有,那么最后的结果需要+1,放入回文串的最中间

在这里插入图片描述


完整代码

class Solution {
public:int longestPalindrome(string s) {unordered_map<char,int>count;//统计字符的数量//最长的回文串for(auto x:s)    count[x]++;    //如果有奇数次的字母,那么就+1,如果没有就不加    int ans=0;    int flg=0;//标记是否有1次的字母    for(auto kv:count)//kv:key value    {if(kv.second%2==0)//如果是偶数,全部取上    ans+=kv.second;    if(kv.second%2!=0)//如果是奇数,取偶数部分,就是-1    {ans+=kv.second-1;    flg=1;    }}   if(flg==1)    return ans+1;    else    return ans;    }
};

在这里插入图片描述

http://www.lryc.cn/news/352122.html

相关文章:

  • 百度智能云参与信通院多项边缘计算标准编制,「大模型时代下云边端协同 AI 发展研讨会」成功召开
  • 前后端联调
  • 根据配置的mode环境显示不同的index模板
  • hls.js实现分片播放视频
  • K8s 运维架构师实战课程
  • AIGC基础教学:AI+建筑设计,一场划时代变革的序幕已经拉开
  • 领域知识 | 智能驾驶安全领域部分常见概论
  • 力扣刷题---返回word中所有不重复的单词
  • 正点原子LWIP学习笔记(一)lwIP入门
  • 16、设计模式之迭代器模式
  • 自然语言处理实战项目29-深度上下文相关的词嵌入语言模型ELMo的搭建与NLP任务的实战
  • TCP/IP体系模型简介
  • 【ZYNQ】AXI-Quad-SPI SDK 开发记录 测试
  • Django提交表单出错提示错误
  • 鸿蒙开发 组件之间的传值
  • [晕事]今天做了件晕事35 VM发送给gateway太多ARP,导致攻击检查?
  • 虹科干货丨多设备协同无忧:Linux环境下PCAN固定设备ID通道分配指南
  • 【python】flask操作数据库工具SQLAlchemy,详细用法和应用实战
  • web前端项目已有阿里巴巴图标基础上,再次导入阿里巴巴图标的方法
  • 头歌openGauss-存储过程第2关:修改存储过程
  • ThreadLocal简单使用案例
  • 创建型设计模式之建造者模式
  • mainwindow 无菜单栏 可拖动,边界可扩大,动画浮现上边框
  • 机器学习云环境测试
  • 扩散模型自动管道AutoPipeline
  • Map六种遍历方式
  • 集合-1 数组ArrayListLinkedList
  • 42-1 应急响应之账户排查
  • Python3 笔记:sort() 和 sorted() 的区别
  • vue 引入 emoji 表情包