Leetcode 5 Longest Palindromic Substring
来源:互联网 发布:python if false 编辑:程序博客网 时间:2024/06/08 05:06
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.
求最长回文子串的裸题,搞竞赛的时候遇到过各种花样的变式。
n方的朴素算法已经烂大街了,推荐使用O(n)的算法,只可惜很久没用过manacher算法,不会写了,所以花了一段时间温故知新。
manacher算法原理不了解的道友可以看这篇文章:
http://blog.csdn.net/accepthjp/article/details/52299608
点击打开链接
class Solution {public: string init(string s) { string result("*#");//防止越界 for(int i=0;i<s.length();i++) { result+=s[i]; result+='#'; } result+='&'; return result; } string longestPalindrome(string s) { string ch=init(s); int p[2010],id=0,maxlen=0,pos=0; p[0]=0; for(int i=1;i<ch.length();i++) { if(p[id]+id>i) p[i]=min(p[2*id-i],p[id]+id-i); else p[i]=1; while(ch[i-p[i]] == ch[i+p[i]]) p[i]++; if(id+p[id]<i+p[i]) id=i; if(maxlen<p[i]) { pos=i; maxlen=p[i]; } } pos/=2; string result=s.substr(pos-maxlen/2,maxlen-1); return result; }};
1 0
- LeetCode 5 - Longest Palindromic Substring
- LeetCode(5) Longest Palindromic Substring
- Leetcode【5】:Longest Palindromic Substring
- [leetcode 5] Longest Palindromic Substring
- LeetCode 5 Longest Palindromic Substring
- [Leetcode] 5 - Longest Palindromic Substring
- LeetCode 5:《Longest Palindromic Substring》
- [leetcode 5] Longest Palindromic Substring
- LeetCode | #5 Longest Palindromic Substring
- leetcode 5 Longest Palindromic Substring
- LeetCode 5 Longest Palindromic Substring
- LeetCode 5 Longest Palindromic Substring
- LeetCode(5) Longest Palindromic Substring
- LeetCode 5:Longest Palindromic Substring
- LeetCode 5 - Longest Palindromic Substring
- leetcode #5 Longest Palindromic Substring
- Longest Palindromic Substring leetcode 5
- leetcode 5 -- Longest Palindromic Substring
- “J.U.C”:ReentrantLock之三unlock方法分析(r)
- HDU3792---Twin Prime Conjecture(树状数组)
- app/android:showAsAction的区别
- 基础(1)
- KMP算法的实现
- Leetcode 5 Longest Palindromic Substring
- rolling invalidation对子游标产生的影响
- linux安装 和 启动的过程
- HDU-4300 Clairewd’s message + 4333(扩展KMP)
- AlertDialog实现提示框初体验+自定义对话框
- SHA1算法实现及详解
- 卷积神经网络简介
- 远程登陆linux
- “J.U.C”:Condition (r)