java-最长回文串-中心扩展算法
来源:互联网 发布:淘宝欣欣潮流店 编辑:程序博客网 时间:2024/06/06 18:01
import java.util.*;public class nk {public static void main(String[] args){Scanner sc = new Scanner(System.in);String str = sc.next();System.out.println(getResult(str));}/** * 以字符数组中的某个字符为中心,向左右扩展,遇到回文串则返回 * @param ch 要检查的字符串数组 * @param start 左扩展 * @param end 右扩展 * @return 返回遇到最长回文串 */public static String getEvery(char[] ch,int start,int end){int length = ch.length;while(start>=0 && end<=length-1 && ch[start] == ch[end]){start --;end ++;}return String.valueOf(ch).substring(start+1,end);//因为截取区间是左闭又开}/** * 返回某个字符串中包含的最长回文串,其中遍历该字符串,以字符串中的每个字符为中心寻找最长回文串,回文串分为奇数型和偶数型 * @param str * @return */public static String getResult(String str){char[] ch = str.toCharArray();String result = "";String tmp = "";for(int i =0;i<ch.length;i++){tmp = getEvery(ch,i,i);//以每个字符为中心,且返回的是奇数型回文串if(tmp.length()>result.length()){result = tmp;}tmp = getEvery(ch,i,i+1); //以每个字母为中心,且返回的是偶数型回文串if(tmp.length()>result.length()){result = tmp;}}return result;}}
阅读全文
0 0
- java-最长回文串-中心扩展算法
- 最长回文子串[中心扩展思想]
- 百度笔试:最长回文(中心扩展法)
- 最长回文串算法
- 最长回文串算法
- 最长回文串算法
- java-最长回文串
- 最长回文子串算法
- 【算法】最长回文子串
- 算法---最长回文子串
- Manacher算法(最长回文串)
- Manacher算法------求最长回文子串(Java)
- 最长回文串——manacher算法java实现
- 51nod1089最长回文子串--Manacher算法(Java语言)
- hdu 3068 最长回文 + 最长回文串算法
- hdu 3068 最长回文(最长回文子串 manacher算法)
- 【最长回文子串】HDU3068最长回文【Manacher算法】
- java manacher算法计算最长回文字符串
- mybatis第一天笔记
- java 微信小程序 语音识别成文字 音频格式转换 silk pcm wav
- POJ 3026 BFS+PRIM 地图上迷宫最小生成树
- MYSQL 浅谈MyISAM 存储引擎
- springmvc三个处理器映射器(三)
- java-最长回文串-中心扩展算法
- Fibonacci
- 南邮Inter多核实验一——Windows环境下多线程程序设计|
- CSS基础属性
- Node.js+Express+MongoDB实现简单登录注册功能
- Failed to resolve: android.arch.lifecycle:extensions:1.0.0-alpha4问题解决
- opencv教程(三)c++
- python35 利用matplotlib的subplot画多幅图
- #POJ3190#Stall Reservations(贪心 -> 冲突分配)