回文算法java实现_java算法题:最长回文串
LeetCode: 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如"Aa"不能当做一个回文字符串。注 意:假设字符串的长度不会超过 1010。
思路:利用hashset,遍历字符串数组,判断字符是否在hashset中,如果在则加2,并在hashset中移除改字符,反之则放入hashset中
,最后判断count是否大于字符串长度。
代码实现:
/**
* @author:eason
* @desc:最长回文串(“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。)
* @思路:利用hashset,遍历字符串数组,判断字符是否在hashset中,如果在则加2,并在hashset中移除改字符,反之则放入hashset中
* ,最后判断count是否大于字符串长度
*/
public class LongestPalindromic {
public int getLonestLength(String s){
int count = 0;
char[] chars = s.toCharArray();
HashSet set = new HashSet();
for(int i = 0;i < chars.length; i++){
char b = chars[i];
if(set.contains(b)){
count += 2;
set.remove(b);
}else{
set.add(b);
}
}
if(count < s.length()){
count ++;
}
return count;
}
public static void main(String[] args) {
String s = "assdsdgggggaa";
LongestPalindromic longestPalindromic = new LongestPalindromic();
System.out.println(longestPalindromic.getLonestLength(s));
}
}
回文算法java实现_java算法题:最长回文串相关推荐
- java 最长回文_【Java】【每日算法/刷穿 LeetCode】5. 最长回文子串(中等)
首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]5. 最长回文子串(中等) 宫水三叶发布于 今天 12:00 题目描述 给你一个字符串 s,找到 s 中最长的回文子串. 示例 ...
- leetcode算法题--最长回文子串
题目链接:https://leetcode-cn.com/problems/longest-palindromic-substring/ 相关题目:最长回文子序列 动态规划 dp[i][j]表示从i到 ...
- [Leedcode][JAVA][第5题][最长回文子串][数组][动态规划]
[问题描述][第5题][最长回文子串][中等] 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000.示例 1:输入: "babad" 输出: & ...
- ls算法java实现_Java API之算法 | 学步园
本节中所描述的多态 排序(Sorting) 排序算法可为一个 List 重新排序,以使它的元素按照某种排序关系成上升式排序.有两种形式的操作被提供.简单形式的操作只采用一个 List 并按照它的元素的 ...
- svm算法 java实现_SVM算法实现(一)
关键字(keywords):SVM 支持向量机 SMO算法 实现 机器学习 假设对SVM原理不是非常懂的,能够先看一下入门的视频,对帮助理解非常实用的,然后再深入一点能够看看这几篇入门文章,作者写得挺 ...
- 隐马尔科夫模型(HMM)的无监督学习算法java实现(baum-welch迭代求解),包括串行以及并行实现
HMM的原理就不说了,这里主要说算法的实现. 实际实现起来并不是很困难,前提是你仔细看过hmm的原理,然后很多实现就照着公式写出对应的代码,比如前向算法,后向算法,参数更新都是有明确的公式的,只需要对 ...
- 怎么判断一个字符串的最长回文子串是否在头尾_LeetCode5:最长回文子串
最长回文子串问题是一个比较经典的题目,且字符串的处理问题也比较重要,这里实现了几种可行的方法,写了ac的表示可以通过,有的是可运行但是会超时或者是超过内存限制. 一:优化的暴力和暴力解 1.1 算是优 ...
- 每天一道LeetCode-----最长回文子串/序列,从头开始的最长回文子串长度
Longest Palindromic Substring 原题链接 Longest Palindromic Substring 意思是找到最长的回文子串,注意子串和子序列的区别 蛮力法就将每个可能的 ...
- 计算给定字符串中最长回文子串的长度(或查找最长回文子串)
题目描述 对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度. 给定字符串A以及它的长度n,请返回最长回文子串的长度. 测试样例: "abc1234321ab",12 ...
最新文章
- linux_域名映射
- 从零开始搭建一个vue项目 -- vue-cli/cooking-cli(一)
- 这家研究院太年轻,竟跟世界级选手“叫板”
- ASP.Net生成静态HTML页
- 吴恩达深度学习2.2笔记_Improving Deep Neural Networks_优化算法
- this compilation unit is not on the build of a java project
- Netty简单样例分析[转]
- VS开发工具常用插件
- PowerBuilder DataWindow 38个开发技巧
- 《WinForm开发系列之控件篇》Item12 DateTimePicker(暂无)
- 基于JAVA后勤管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
- 1060驱动java,丽境1060数位板驱动下载
- PostgreSQL下载及Windows系统安装步骤
- 删除右键菜单中多余项
- 本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”
- vue element-ui的嵌套dialog遮罩层
- 【音视频基础】(六):CIE颜色空间二之CIE-XYZ及Y的含义
- 全球及中国食品级隔膜泵行业需求分析与发展战略规划研究报告2022-2028年
- 爬虫期末考试笔记(填空题)
- Python报错:NameError: name 'reduce' is not defined 和 reduce()函数介绍
热门文章
- tensorflow 模型小型化_模型小型化
- 全国计算机等级考试题库二级C操作题100套(第57套)
- html5 usb调试,USB调试怎么打开 USB调试模式打不开怎么刷机
- mvc4 html.pager,MVC分页之MvcPager使用详解
- ubuntu14测试mysql_在ubuntu14.04中安装Hammerora-2.10——测试mysql、oracle性能够的工具...
- JAVA中常用的逻辑运算符_Java中的常见运算符以及使用
- java上下文即ServletContext
- 解决git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Pleas
- 谷歌浏览器添加插件时显示程序包无效:CRX_HEADER_INVALID 解决办法
- 在数据中心空间进行测试