leetcode每日一题:409. 最长回文串
注意:
输入:
输出:
解释:
法1:先排好序,然后遍历一遍,左右相同的就可以凑成一对,最后再判断一下能否再加一个单个的,如果没达到字符串长度,那就可以在回文穿中间加一个单个的字符
class Solution {
public:
int longestPalindrome(string s) {
sort(s.begin(),s.end());
int cnt=0;
for(int i=1;i<s.length();i++){
if(s[i]==s[i-1]){
cnt+=2;
i++;
}
}
if(cnt<s.length())cnt++;
return cnt;
}
};
法2:利用桶排序的思想,然后获取每个字符出现的次数,对次数进行/2*2处理,这样本来是5的最后就得到4,构成两对,然后再判断能否在中间加一个单独的。
class Solution {
public:
int longestPalindrome(string s) {
unordered_map<char,int>count;
int cnt=0;
for(char c:s){
count[c]++;
}
for(auto p:count){
int v=p.second;
cnt+=v/2*2;
}
if(cnt<s.length())cnt++;
return cnt;
}
};
leetcode每日一题:409. 最长回文串的更多相关文章
- Java实现 LeetCode 409 最长回文串
409. 最长回文串 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意 ...
- leetcode 每日签到 409. 最长回文串
题目: 最长回文串 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: ...
- LeetCode随缘刷题之最长回文子串
这一题我用的相对比较笨的方法. 相对于大佬们用的动态规划法,比较复杂.但却更容易理解,我主要是通过记录下标来确定最长回文串的. package leetcode.day_12_06; /** * 给你 ...
- leetcode.字符串.409最长回文串-Java
1. 具体题目 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串.在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: 假设 ...
- C#LeetCode刷题之#409-最长回文串(Longest Palindrome)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3788 访问. 给定一个包含大写字母和小写字母的字符串,找到通过这 ...
- LeetCode 409——最长回文串
1. 题目 2. 解答 我们先来看一看回文子串的规律,如果回文子串的长度为偶数,那么其中所有的每个元素都出现了偶数次:如果回文子串的长度为奇数,那么有一个元素出现了奇数次而其余每个元素都出现了偶数次. ...
- [LeetCode每日一题]1143. 最长公共子序列
[LeetCode每日一题]1143. 最长公共子序列 问题 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度.如果不存在 公共子序列 ,返回 0 . 一个字符串 ...
- Leetcode 5. Longest Palindromic Substring(最长回文子串, Manacher算法)
Leetcode 5. Longest Palindromic Substring(最长回文子串, Manacher算法) Given a string s, find the longest pal ...
- [LeetCode] 516. Longest Palindromic Subsequence 最长回文子序列
Given a string s, find the longest palindromic subsequence's length in s. You may assume that the ma ...
- Manacher算法 - 求最长回文串的利器
求最长回文串的利器 - Manacher算法 Manacher主要是用来求某个字符串的最长回文子串. 不要被manacher这个名字吓倒了,其实manacher算法很简单,也很容易理解,程序短,时间复 ...
随机推荐
- 专访实在智能孙林君:颠覆传统RPA的实在IPA模式如何做到真正人人可用?
王吉伟对话实在智能孙林君:颠覆传统引领RPA行业的实在IPA模式是如何炼成的? 王吉伟对话实在智能孙林君:为什么第一款颠覆行业的RPA诞生在实在智能? 专访实在智能孙林君:打造出真正人人可用的实在 ...
- MySQL日志15连问,redo log与biglog
1. redo log是什么? 为什么需要redo log? redo log 是什么呢? redo log 是重做日志. 它记录了数据页上的改动. 它指事务中修改了的数据,将会备份存储. 发生数据库 ...
- [VueJsDev] 日志 - BBTime-LOG
[VueJsDev] 目录列表 https://www.cnblogs.com/pengchenggang/p/17037320.html BBTime-LOG ::: details 目录 目录 B ...
- day07-JavaScript04
JavaScript04 11.DOM02 11.3HTML-DOM文档说明 11.3.1基本介绍 在HTML DOM(文档对象模型)中,每个部分都是节点: 1)文档本身是文档节点 2)所有HTML元 ...
- verilog勘误系列之-->设计行为仿真和时序仿真不一致分析
描述 最近在vivado中设计一个计算器: 28bit有符号加减法,结果出现行为仿真和时序仿真不一致情况 原因 本篇是由于组合逻辑部分敏感信号使用错误导致 代码 r_a, r_b : 对计算数据a, ...
- 引领汽车营销新趋势,3DCAT实时云渲染助力汽车三维可视化
当前,汽车产业发展正从电动化的上半场,向智能化的下半场迈进.除了车机技术体验的智能化之外,观车体验的智能化也不容忽视. 这是因为,随着数字化.智能化.个性化的趋势,消费者对汽车的需求和期待也越来越高, ...
- jQury(事件及其他方法)
一. jQuery 事件注册 单个事件注册 语法: element.事件(function(){}) $("div").click(function(){ 事件处理程序 }) 其他 ...
- 【Jenkins】Jenkins 运行权限问题
yum安装的Jenkins 配置文件默认位置/etc/sysconfig/jenkins 默认jenkins服务以jenkins用户运行,这时在jenkins执行maven脚本时可能会发生没有权限操作 ...
- Oracle 获取月初、月末时间,获取上一月月初、月末时间
select trunc(sysdate, 'mm'), last_day(trunc(sysdate)), trunc(add_months(trunc(sysdate), -1), 'mm'), ...
- KingbaseES V8R3 表加密
前言 透明加密是指将数据库page加密后写入磁盘,当需要读取对应page时进行加密读取.此过程对于用户是透明, 用户无需干预. 该文档进行数据库V8R3版本测试透明加密功能,需要说明,该版本发布时间早 ...