[Leetcode]Longest Palindromic Substring
来源:互联网 发布:编程语言使用排行 编辑:程序博客网 时间:2024/05/08 01:37
Longest Palindromic Substring
Total Accepted: 82394 Total Submissions: 381112 Difficulty: Medium
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.
Subscribe to see which companies asked this question
使用暴力去做算法的时间复杂度肯定是O(n ^2),然后有一种叫做manacher的算法。可以把时间复杂度降到O(n)。详细的资料:戳这里
class Solution {public: string longestPalindrome(string s) { int len = s.size(); if(!len) return ""; string str("$"); for(int i = 0;i <= len - 1;++ i){ str.push_back('#'); str.push_back(s[i]); } str.push_back('#'); len = str.size(); int id = 0; int maxDis = 0; vector<int> p(len,0); for(int i = 1;i <= len - 1;++ i){ if(maxDis > i){ p[i] = min(maxDis - i,p[2 * id - i]); } for(;str[i - p[i]] == str[i + p[i]];++ p[i]) ; if(i + p[i] > maxDis){ id = i; maxDis = i + p[i]; } } int maxLen = 0; int pos = 0; for(int i = 0;i <= p.size() - 1;++ i){ if(p[i] > maxLen){ maxLen = p[i]; pos = i; } } string res(str.substr(pos - maxLen + 1,maxLen * 2 - 1)); string ans; for(auto ch : res){ if(ch != '#'){ ans.push_back(ch); } } return ans; }};
0 0
- LeetCode: Longest Palindromic Substring
- LeetCode Longest Palindromic Substring
- LeetCode: Longest Palindromic Substring
- [Leetcode] Longest Palindromic Substring
- [LeetCode] Longest Palindromic Substring
- Leetcode : Longest Palindromic Substring
- [LeetCode]Longest Palindromic Substring
- leetcode Longest Palindromic Substring
- LeetCode-Longest Palindromic Substring
- [LeetCode] Longest Palindromic Substring
- Longest Palindromic Substring leetcode
- LeetCode Longest Palindromic Substring
- LeetCode - Longest Palindromic Substring
- LeetCode -- Longest Palindromic Substring
- LeetCode | Longest Palindromic Substring
- LeetCode: Longest Palindromic Substring
- [LeetCode]Longest Palindromic Substring
- leetcode Longest Palindromic Substring
- (小笔记),String 的各种用法,忘了,mark一下
- 设计模式之观察者模式
- C++库一览
- opencv 相关
- 数据库高可用架构(MySQL、Oracle、MongoDB、Redis)
- [Leetcode]Longest Palindromic Substring
- SQL创建函数不成功的问题-log_bin_trust_function_creators参数研究
- 【反思】:反思之计网考试前
- UIButton的Image和Title的布局
- JSON序列化与反序列化没有任何格式或空格缩进的对象
- dom4j
- Bonfire: Check for Palindromes 答案
- 多行文本溢出显示省略号(…)全攻略
- vc window style