字符串最长回文子串
2016-10-25 00:00
344 查看
摘要: 字符串最长回文子串
s[]为加了特殊符号的数组
p[]为用来表示以i为中心的回文子串
pR表示当前最大的回文子串长度,index表示当前最大回文子串的中心
s[]为加了特殊符号的数组
p[]为用来表示以i为中心的回文子串
pR表示当前最大的回文子串长度,index表示当前最大回文子串的中心
int Manacher(){ int i, pR=0, index; int max=Integer.MIN_VALUE; for( i=0; i<n; i++){ p[i] = pR>i ? Min(p[2*index-i], pR-i) :1; while(i+p[i]<s.length && i-p[i]>-1) if(s[i+p[i]]==s[i-p[i]]) p[i]++; if( i+p[i]>pR) { pR=i+p[i]; index=i; } max=Math.max(max, p[i]); } return max-1; }
相关文章推荐
- 最长公共子串、最长公共子序列、最长回文子串、模式匹配、最大子序列--字符串问题整理
- 数组字符串那些经典算法:最大子序列和,最长递增子序列,最长公共子串,最长公共子序列,字符串编辑距离,最长不重复子串,最长回文子串
- Manarcher 求 字符串 的最长回文子串 【记录】
- 【字符串处理】最长回文子串笔记(Manacher算法)
- 字符串的最长回文子串问题
- JAVA:返回字符串中最长回文子串的长度
- 字符串的最长回文子串
- 最长对称字符串问题/最长回文子串问题
- hiho#1032 : 最长回文子串 (manacher算法O(n)时间求字符串的最长回文子串 )
- Manacher算法求字符串的最长回文子串
- O(n)时间求字符串的最长回文子串
- CSU1328 近似回文词(字符串处理,最长回文子串)
- 计算字符串的最长回文子串 :Manacher算法介绍
- Manacher's ALGORITHM: O(n)时间求字符串的最长回文子串
- Manarcher 求 字符串 的最长回文子串 【记录】
- Manacher算法——找字符串最长的回文子串
- 求一个字符串中最长回文子串的长度(承接上一个题目)
- 找工作知识储备---数组字符串那些经典算法:最大子序列和,最长递增子序列,最长公共子串,最长公共子序列,字符串编辑距离,最长不重复子串,最长回文子串
- 字符串中最长的回文子串问题
- Manacher's ALGORITHM: O(n)时间求字符串的最长回文子串