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算法题:最长回文串相关推荐

  1. java 最长回文_【Java】【每日算法/刷穿 LeetCode】5. 最长回文子串(中等)

    首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]5. 最长回文子串(中等) 宫水三叶发布于 今天 12:00 题目描述 给你一个字符串 s,找到 s 中最长的回文子串. 示例 ...

  2. leetcode算法题--最长回文子串

    题目链接:https://leetcode-cn.com/problems/longest-palindromic-substring/ 相关题目:最长回文子序列 动态规划 dp[i][j]表示从i到 ...

  3. [Leedcode][JAVA][第5题][最长回文子串][数组][动态规划]

    [问题描述][第5题][最长回文子串][中等] 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000.示例 1:输入: "babad" 输出: & ...

  4. ls算法java实现_Java API之算法 | 学步园

    本节中所描述的多态 排序(Sorting) 排序算法可为一个 List 重新排序,以使它的元素按照某种排序关系成上升式排序.有两种形式的操作被提供.简单形式的操作只采用一个 List 并按照它的元素的 ...

  5. svm算法 java实现_SVM算法实现(一)

    关键字(keywords):SVM 支持向量机 SMO算法 实现 机器学习 假设对SVM原理不是非常懂的,能够先看一下入门的视频,对帮助理解非常实用的,然后再深入一点能够看看这几篇入门文章,作者写得挺 ...

  6. 隐马尔科夫模型(HMM)的无监督学习算法java实现(baum-welch迭代求解),包括串行以及并行实现

    HMM的原理就不说了,这里主要说算法的实现. 实际实现起来并不是很困难,前提是你仔细看过hmm的原理,然后很多实现就照着公式写出对应的代码,比如前向算法,后向算法,参数更新都是有明确的公式的,只需要对 ...

  7. 怎么判断一个字符串的最长回文子串是否在头尾_LeetCode5:最长回文子串

    最长回文子串问题是一个比较经典的题目,且字符串的处理问题也比较重要,这里实现了几种可行的方法,写了ac的表示可以通过,有的是可运行但是会超时或者是超过内存限制. 一:优化的暴力和暴力解 1.1 算是优 ...

  8. 每天一道LeetCode-----最长回文子串/序列,从头开始的最长回文子串长度

    Longest Palindromic Substring 原题链接 Longest Palindromic Substring 意思是找到最长的回文子串,注意子串和子序列的区别 蛮力法就将每个可能的 ...

  9. 计算给定字符串中最长回文子串的长度(或查找最长回文子串)

    题目描述 对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度. 给定字符串A以及它的长度n,请返回最长回文子串的长度. 测试样例: "abc1234321ab",12 ...

最新文章

  1. linux_域名映射
  2. 从零开始搭建一个vue项目 -- vue-cli/cooking-cli(一)
  3. 这家研究院太年轻,竟跟世界级选手“叫板”
  4. ASP.Net生成静态HTML页
  5. 吴恩达深度学习2.2笔记_Improving Deep Neural Networks_优化算法
  6. this compilation unit is not on the build of a java project
  7. Netty简单样例分析[转]
  8. VS开发工具常用插件
  9. PowerBuilder DataWindow 38个开发技巧
  10. 《WinForm开发系列之控件篇》Item12 DateTimePicker(暂无)
  11. 基于JAVA后勤管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
  12. 1060驱动java,丽境1060数位板驱动下载
  13. PostgreSQL下载及Windows系统安装步骤
  14. 删除右键菜单中多余项
  15. 本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”
  16. vue element-ui的嵌套dialog遮罩层
  17. 【音视频基础】(六):CIE颜色空间二之CIE-XYZ及Y的含义
  18. 全球及中国食品级隔膜泵行业需求分析与发展战略规划研究报告2022-2028年
  19. 爬虫期末考试笔记(填空题)
  20. Python报错:NameError: name 'reduce' is not defined 和 reduce()函数介绍

热门文章

  1. tensorflow 模型小型化_模型小型化
  2. 全国计算机等级考试题库二级C操作题100套(第57套)
  3. html5 usb调试,USB调试怎么打开 USB调试模式打不开怎么刷机
  4. mvc4 html.pager,MVC分页之MvcPager使用详解
  5. ubuntu14测试mysql_在ubuntu14.04中安装Hammerora-2.10——测试mysql、oracle性能够的工具...
  6. JAVA中常用的逻辑运算符_Java中的常见运算符以及使用
  7. java上下文即ServletContext
  8. 解决git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Pleas
  9. 谷歌浏览器添加插件时显示程序包无效:CRX_HEADER_INVALID 解决办法
  10. 在数据中心空间进行测试