由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 有人同看Longest Palindromic Substring 这道题么?
相关主题
leetcode online judge Longest Palindromic Substring memory limit exceeded Memory Limit Exceeded: Longest Palindromic Substring
python搞不定Longest Palindromic Substring啊DP通项公式
Linkedin八月onsite面经问道算法题
大家幫我看看longest palindrome為什麽有錯,檢查半天也沒看出leetcode上的Longest Palindromic Substring难道不收brute for
Amazon Summer Intern Offer, 发面经讨论一道G的题find longest substring which contains just two unique characters.
问道老题请问一道Leetcode的题:Longest Palindromic Substring
请教道算法题最长回文串
Bloomberg面试题热腾腾的twitter电面经
相关话题的讨论汇总
话题: string话题: int话题: maxlen话题: longest话题: len
进入JobHunting版参与讨论
1 (共1页)
a***e
发帖数: 413
1
听说是经典题,好多种解法。Bruteforce的最容易,O(N^2)的比较难想。暂时不太明
白DP。。。。。。。
q********c
发帖数: 1774
2
贴一个我的DP:
class Solution {
public:
string longestPalindrome(string s) {
int n = s.size();
int maxLen = 0, start=0;

bool S[1001][1001];
for(int i = n-1; i >=0; i--) {
for(int j = i; j < n; j++) {
S[i][j] = false;
if(s[i] == s[j] && ((j-i<2)||S[i+1][j-1])) {
S[i][j] = true;
if(j-i+1>maxLen) {
maxLen = j-i+1;
start = i;
}
}
}
}

return s.substr(start, maxLen);
}
};

【在 a***e 的大作中提到】
: 听说是经典题,好多种解法。Bruteforce的最容易,O(N^2)的比较难想。暂时不太明
: 白DP。。。。。。。

r****7
发帖数: 2282
3
如果是substring而不是subsequence的话,bruteforce最好吧。

【在 a***e 的大作中提到】
: 听说是经典题,好多种解法。Bruteforce的最容易,O(N^2)的比较难想。暂时不太明
: 白DP。。。。。。。

s*******y
发帖数: 12
4

DP无非就是用空间换时间, 先试着找找有没有递推关系吧.

【在 a***e 的大作中提到】
: 听说是经典题,好多种解法。Bruteforce的最容易,O(N^2)的比较难想。暂时不太明
: 白DP。。。。。。。

s*******y
发帖数: 12
5
为啥? bruteforce要O(N^3)效率实在受不了吧...

【在 r****7 的大作中提到】
: 如果是substring而不是subsequence的话,bruteforce最好吧。
r****7
发帖数: 2282
6
题是啥?是说找一个string里最长的palindromic substring吗?那不就是以每一个点
为中心,向两边走然后对比么?为什么不是N^2而是N^3?
不过我觉得可能有类似KMP的O(N)的算法

【在 s*******y 的大作中提到】
: 为啥? bruteforce要O(N^3)效率实在受不了吧...
r****s
发帖数: 1025
7
这尼玛不是讨论了无数遍了?
suffix trie是最简单的解决方法。
r*******k
发帖数: 1423
8
不是啥manacher算法吗?

【在 r****s 的大作中提到】
: 这尼玛不是讨论了无数遍了?
: suffix trie是最简单的解决方法。

y*******8
发帖数: 112
a***e
发帖数: 413
10
我写了一个类似brute force的方法,请问这个应该算是O(N^2)么?多谢!
string extractor(string &s, int l,int ri)
{
string r;
int left=l,right=ri;
int len=s.length();
while(left>=0&&right {
if (s[left]==s[right])
{
left--;
right++;
}
else
break;
}
r = s.substr(left+1,right-left-1);
return r;
}
string longestPalindrome(string s) {
int len = s.size();
if (len==0||len==1)
return s;
string longest = s.substr(0,1);

for (int i=1;i {
string sub = extractor(s,i-1,i);
if (sub.length()>longest.length())
longest = sub;

string sub2 = extractor(s,i-1,i+1);
if (sub2.length()>longest.length())
longest = sub2;
}
return longest;
}
1 (共1页)
进入JobHunting版参与讨论
相关主题
热腾腾的twitter电面经Amazon Summer Intern Offer, 发面经
Palindrome那题,OJ上通不过问道老题
Palindrome那题,OJ上通不过请教道算法题
leetcode里的Palindrome partition问题Bloomberg面试题
leetcode online judge Longest Palindromic Substring memory limit exceeded Memory Limit Exceeded: Longest Palindromic Substring
python搞不定Longest Palindromic Substring啊DP通项公式
Linkedin八月onsite面经问道算法题
大家幫我看看longest palindrome為什麽有錯,檢查半天也沒看出leetcode上的Longest Palindromic Substring难道不收brute for
相关话题的讨论汇总
话题: string话题: int话题: maxlen话题: longest话题: len