求取一个字符串的最大回文子串
来源:互联网 发布:算法的发展成果 编辑:程序博客网 时间:2024/05/17 08:27
什么是回文字符串?
即为一个字符串从左往右读和从右往左读,结果一样。例如字符串“aba”就是一个回文字符串。
1.问题描述(在牛客网刷题遇到的一个问题):在一个字符串的开始或者结尾加入无关字符。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214。求字符串的最大回文子串中字符的个数!
2.思路分析:本 题实际在求字符串的最大回文子串。可利用动态规划的思想。代码如下:
public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String a = sc.next(); int len = a.length(); //建立一个二维数组 int arr[][] = new int[len+1][len+1]; StringBuffer sb = new StringBuffer(a); StringBuffer b = sb.reverse();//反转之后的字符串 int max = 0; for(int i=1;i<=len;i++){ for(int j=1;j<=len;j++){ if(a.charAt(i-1)==b.charAt(j-1)){ arr[i][j] = arr [i-1][j-1]+1; } if(arr[i][j]>max){ max=arr[i][j]; } } } System.out.println(max); } }}
PS:第一次写博客,希望对大家有帮助。如有可改进的地方,欢迎交流! 0 0
- 求取一个字符串的最大回文子串
- DP问题--求取一个字符串回文串的多少
- 字符串的最大回文子串判断
- 求字符串的最大回文子串
- 求一个字符串中的最大回文子串
- c++之求一个字符串中的最大回文子串
- leetcode-java.T005_LongestPalindromicSubstringTotal 给定一个字符串S,找出它的最大的回文子串
- 小程序(十三)求一个字符串的最大回文子串
- 最大回文子字符串
- JAV打印字符串中最大的回文子串
- 字符串最大回文子串的查找java实现
- Longest Palindromic Substring(字符串的最大回文子串)
- Leetcode005--字符串中最大的回文子串
- 用三重循环求一个字符串的最大回文串(连续重复出现的最长子串)
- 正反求取最大公共子串
- 一个字符串的最长回文子串的长度
- 求最大回文子字符串
- 求一个字符串的最长子回文串
- 【插件】自适应布局JQuery插件,rem布局——和派孔明
- Linux学习笔记(1) --- 使用VMWare WorkStation安装Linux Mint
- 第13周 数据结构(上海交大) 5-3 前m与后n个元素整体互换
- JavaScript正则表达式上之基本语法
- TablView长按手势执行两次的问题
- 求取一个字符串的最大回文子串
- MVC控制器流程
- spring注解
- 【WebService框架-CXF】——CXF+Spring+Struts+自定义拦截器构建WebService客户端
- Java标准输入输出串流
- Win32游戏制作之---SwordsMan
- byte[ ]数组承接内容时候分配空间
- [Docker]Docker简介
- 字体属性及测量