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算法很简单,也很容易理解,程序短,时间复 ...
随机推荐
- vue3使用路由keep-alive和监听路由实现transition
随着vue3.0的发布,vue-router发布了4.0版本,文档 很明了,提供了vue2路由到vue3的变化和写法指导. vue2: // transition <transition nam ...
- [置顶]
java动态控制线程的启动和停止
最近项目有这样的需求:原来系统有个计算的功能,但该功能执行时间会很长(大概需要几个小时才能完成),如果执行过程中出现了错误的话,也只能默默的等待错误执行完成才行,无法做到动态的对该功能进行停止. 我了 ...
- leetcode数据库sql之Department Top Three Salaries
leetcode原文引用: How would you print just the 10th line of a file? For example, assume that file.txt ha ...
- (3)安装完python之后需要安装的Spyder集成开发环境教程
步骤一: 首先,在网站上下载你所需要的压缩文件,网址为https://files.pythonhosted.org/packages/5e/a0/ab7f29e32479d15663eab9afd1d ...
- 记录--vue 拉伸指令
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 在我们项目开发中,经常会有布局拉伸的需求,接下来 让我们一步步用 vue指令 实现这个需求 动手开发 在线体验 codesandbo ...
- 如何在uniapp中优雅地使用WebView
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 从webview页面传值到uniapp中 官方文档已经很详细了,这里给大家上我的实战代码,首先在webview页面中引入相关依赖: < ...
- 记录--uni-app App端半屏连续扫码
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 本文用一个简单的 demo 讲解 App端 半屏连续扫码 的实现方式,包括(条形码.二维码等各种各样的码). 我会从实现思路讲起,如果你比 ...
- 记录--用JS轻松实现一个录音、录像、录屏的工具库
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 最近项目遇到一个要在网页上录音的需求,在一波搜索后,发现了 react-media-recorder 这个库.今天就跟大家一起研究一 ...
- 测试监控系列:使用vb批量统计nmon结果
适用于一次统计几十台机器的nmon监控结果. 新建excel,在设置里打开开发者工具,点查看代码,把下面代码贴到模块里即可.最后把表格保存为.xlsm Sub for_nmon()'用来统计nmon结 ...
- 添加AvalonEdit控件到WinForm
public frmTest() { InitializeComponent(); ElementHost host = new ElementHost(); host.Size = new Size ...