由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问个老问题 Longest palindrome in a string
相关主题
Longest common string问题请教几道经典题
问道老题还真从来没见过考KMP之类string matching算法的
最长回文串弱问如何用suffix tree求最长palindrome
on-site的时候Trie和suffix tree会考coding吗?Suffix Array nlogn的构造是怎么样的?
问一个老题 longest palindromegoogle phone interview question
leetcode上的Longest Palindromic Substring难道不收brute forBloomberg面试题
Palindrome那题,OJ上通不过请教suffix tree and longest repeated substring
Palindrome那题,OJ上通不过leetcode online judge Longest Palindromic Substring memory limit exceeded
相关话题的讨论汇总
话题: suffix话题: palindrome话题: string话题: tree话题: longest
进入JobHunting版参与讨论
1 (共1页)
B*******1
发帖数: 2454
1
用suffix tree可以做到o(n),但是现场面试肯定不可能当场写这个suffix tree的。
有另一个解法是lcs(str, reverse(str)),
但是这个方法对于这种string不适合,"abcfghicba"
出来的结果会是abc,是不是这种情况下可以做post-processing,再check得到的这个
substring是不是palindrome啊。
thanks。
a********1
发帖数: 750
2
suffix array nlogn
B*******1
发帖数: 2454
3
可否说具体点,万分感谢。
a********1
发帖数: 750
4
http://en.wikipedia.org/wiki/Suffix_array
和suffix tree用法几乎一样,但是构造很简单,直接sort pointer就可以了
以前的算法都是用suffix array来构造suffix tree的,后来才发现O(n)的suffix tree
构造算法,,不过那个没可能在面试时候写出来,写出来估计面试官也看不懂

【在 B*******1 的大作中提到】
: 可否说具体点,万分感谢。
d*******d
发帖数: 2050
5
suffix array/ suffix tree都只能找到lcs,
但是没有解决他的问题.

tree

【在 a********1 的大作中提到】
: http://en.wikipedia.org/wiki/Suffix_array
: 和suffix tree用法几乎一样,但是构造很简单,直接sort pointer就可以了
: 以前的算法都是用suffix array来构造suffix tree的,后来才发现O(n)的suffix tree
: 构造算法,,不过那个没可能在面试时候写出来,写出来估计面试官也看不懂

a********1
发帖数: 750
6
suffix array可以保存suffix的index
这样check palindrome可以在search的时候check
而不用找完再check

【在 d*******d 的大作中提到】
: suffix array/ suffix tree都只能找到lcs,
: 但是没有解决他的问题.
:
: tree

g*****i
发帖数: 2162
7
suffix array的lcp 怎么在nlogn算?有code看看吗?

tree

【在 a********1 的大作中提到】
: http://en.wikipedia.org/wiki/Suffix_array
: 和suffix tree用法几乎一样,但是构造很简单,直接sort pointer就可以了
: 以前的算法都是用suffix array来构造suffix tree的,后来才发现O(n)的suffix tree
: 构造算法,,不过那个没可能在面试时候写出来,写出来估计面试官也看不懂

r*******g
发帖数: 1335
8
Hi
能否详细说说suffix tree怎么做,如果像你们讨论的那样suffix tree很难O(n)构造出
来,那这个题的复杂度究竟是多少呢?我能想到的就是构造两个suffix tree混在一起
,然后再找LCA。
你这里的lcs是什么意思?
谢谢了

【在 B*******1 的大作中提到】
: 用suffix tree可以做到o(n),但是现场面试肯定不可能当场写这个suffix tree的。
: 有另一个解法是lcs(str, reverse(str)),
: 但是这个方法对于这种string不适合,"abcfghicba"
: 出来的结果会是abc,是不是这种情况下可以做post-processing,再check得到的这个
: substring是不是palindrome啊。
: thanks。

d*******d
发帖数: 2050
9
恩,这个倒是可以做得到.

【在 a********1 的大作中提到】
: suffix array可以保存suffix的index
: 这样check palindrome可以在search的时候check
: 而不用找完再check

B*******1
发帖数: 2454
10
用suffix array的话,需要建立string 和reverse string的混合的suffix array,还
是只需要建立一个string的suffix array,还是没有弄懂整个用suffix array怎么做,
请指教。

【在 a********1 的大作中提到】
: suffix array可以保存suffix的index
: 这样check palindrome可以在search的时候check
: 而不用找完再check

d*******d
发帖数: 2050
11
建立混合的, 一起sort.
然后,走一遍,只看来自不同array的相邻两个,看的时候再check一下index看是不是真的
是.

【在 B*******1 的大作中提到】
: 用suffix array的话,需要建立string 和reverse string的混合的suffix array,还
: 是只需要建立一个string的suffix array,还是没有弄懂整个用suffix array怎么做,
: 请指教。

B*******1
发帖数: 2454
12
Thanks, 我也是这么想的,但是觉得这么做还不如用lcs(str,reverse(str)),dp的时候
每次update maximum length的时候check check是不是palindrome.
f*********i
发帖数: 197
13
楼主,如果你觉得lcs(str,reverse(str)),dp是一个好方法,那么也就是说,你觉得O(n2)
是一个可以接受的解
请看看我提供的解法,这个也是O(n2)时间的
for(every character in string){
1) in aba case:
keep testing two points on its both sides to see if they are the
same
2) in abba case:
Same approach but in abba format
}
1 (共1页)
进入JobHunting版参与讨论
相关主题
leetcode online judge Longest Palindromic Substring memory limit exceeded问一个老题 longest palindrome
Memory Limit Exceeded: Longest Palindromic Substringleetcode上的Longest Palindromic Substring难道不收brute for
有人同看Longest Palindromic Substring 这道题么?Palindrome那题,OJ上通不过
DP通项公式Palindrome那题,OJ上通不过
Longest common string问题请教几道经典题
问道老题还真从来没见过考KMP之类string matching算法的
最长回文串弱问如何用suffix tree求最长palindrome
on-site的时候Trie和suffix tree会考coding吗?Suffix Array nlogn的构造是怎么样的?
相关话题的讨论汇总
话题: suffix话题: palindrome话题: string话题: tree话题: longest