s*l
6 楼
suffix tree
http://en.wikipedia.org/wiki/Longest_repeated_substring_problem
【在 B********t 的大作中提到】
: 给个字符串S,判断它是不是某个字符串T复制K次的结果。K未知,T未知。不要n^2的解
: 。。
A*o
9 楼
sort
B*t
10 楼
好像是这么回事。
【在 s*********l 的大作中提到】
:
: suffix tree
: http://en.wikipedia.org/wiki/Longest_repeated_substring_problem
【在 s*********l 的大作中提到】
:
: suffix tree
: http://en.wikipedia.org/wiki/Longest_repeated_substring_problem
l*8
11 楼
设字符串S长度为N。
取K为N的质数因子,然后求解。
取K为N的质数因子,然后求解。
p*2
12 楼
KMP吧。
p*2
21 楼
我这个已经做过了。在我的博客里有。你们看看吧。
http://blog.sina.com.cn/s/blog_b9285de20101ipa9.html
http://blog.sina.com.cn/s/blog_b9285de20101ipa9.html
j*y
29 楼
楼主面试官是老中吗?
【在 s*******i 的大作中提到】
: http://poj.org/problem?id=2406
【在 s*******i 的大作中提到】
: http://poj.org/problem?id=2406
r*n
31 楼
用suffix array应该可以做,但是提升也不大,因为要sort,所以是O(nlogn)
f*t
33 楼
咦,kmp估計是正解,感覺還有個nlogn的算法好像也還將就。
掃一遍字符串統計各字符出現次數,得到一個stat[]數組
如果只有一種字符而字符串長度大於一,return true
else
求stat所有值的最大公約數(nlogn),假設為gcd
if gcd==1,return false
否則,如果存在一種重複T構造S的方法的話,gcd一定是K的因子
而無論K等於gcd的多少倍,S能分成K份就一定能分成gcd份(因為gcd
只能是K的因子)
然後檢測K=gcd,S是否符合要求,符合返回true,否則return false(O(n))
實際上上面的的nlogn複雜度遠遠達不到的~~仔細分析也許會跟kmp的正解差不多?
掃一遍字符串統計各字符出現次數,得到一個stat[]數組
如果只有一種字符而字符串長度大於一,return true
else
求stat所有值的最大公約數(nlogn),假設為gcd
if gcd==1,return false
否則,如果存在一種重複T構造S的方法的話,gcd一定是K的因子
而無論K等於gcd的多少倍,S能分成K份就一定能分成gcd份(因為gcd
只能是K的因子)
然後檢測K=gcd,S是否符合要求,符合返回true,否則return false(O(n))
實際上上面的的nlogn複雜度遠遠達不到的~~仔細分析也許會跟kmp的正解差不多?
a*o
34 楼
顶这个,个人觉得这个才是goog想要的
【在 f******t 的大作中提到】
: 咦,kmp估計是正解,感覺還有個nlogn的算法好像也還將就。
: 掃一遍字符串統計各字符出現次數,得到一個stat[]數組
: 如果只有一種字符而字符串長度大於一,return true
: else
: 求stat所有值的最大公約數(nlogn),假設為gcd
: if gcd==1,return false
: 否則,如果存在一種重複T構造S的方法的話,gcd一定是K的因子
: 而無論K等於gcd的多少倍,S能分成K份就一定能分成gcd份(因為gcd
: 只能是K的因子)
: 然後檢測K=gcd,S是否符合要求,符合返回true,否則return false(O(n))
【在 f******t 的大作中提到】
: 咦,kmp估計是正解,感覺還有個nlogn的算法好像也還將就。
: 掃一遍字符串統計各字符出現次數,得到一個stat[]數組
: 如果只有一種字符而字符串長度大於一,return true
: else
: 求stat所有值的最大公約數(nlogn),假設為gcd
: if gcd==1,return false
: 否則,如果存在一種重複T構造S的方法的話,gcd一定是K的因子
: 而無論K等於gcd的多少倍,S能分成K份就一定能分成gcd份(因為gcd
: 只能是K的因子)
: 然後檢測K=gcd,S是否符合要求,符合返回true,否則return false(O(n))
b*u
35 楼
应该k是gcd的因子吧
【在 f******t 的大作中提到】
: 咦,kmp估計是正解,感覺還有個nlogn的算法好像也還將就。
: 掃一遍字符串統計各字符出現次數,得到一個stat[]數組
: 如果只有一種字符而字符串長度大於一,return true
: else
: 求stat所有值的最大公約數(nlogn),假設為gcd
: if gcd==1,return false
: 否則,如果存在一種重複T構造S的方法的話,gcd一定是K的因子
: 而無論K等於gcd的多少倍,S能分成K份就一定能分成gcd份(因為gcd
: 只能是K的因子)
: 然後檢測K=gcd,S是否符合要求,符合返回true,否則return false(O(n))
【在 f******t 的大作中提到】
: 咦,kmp估計是正解,感覺還有個nlogn的算法好像也還將就。
: 掃一遍字符串統計各字符出現次數,得到一個stat[]數組
: 如果只有一種字符而字符串長度大於一,return true
: else
: 求stat所有值的最大公約數(nlogn),假設為gcd
: if gcd==1,return false
: 否則,如果存在一種重複T構造S的方法的話,gcd一定是K的因子
: 而無論K等於gcd的多少倍,S能分成K份就一定能分成gcd份(因為gcd
: 只能是K的因子)
: 然後檢測K=gcd,S是否符合要求,符合返回true,否則return false(O(n))
相关阅读
加微信48173697进入全球华人私密约炮交友平台。遇到了超级小气的领导,要不要走呢?进了狗家,还刷题吗?谁说我没工作? (转载)老板就只会画大饼,你每天加班为的是什么?Amazon AWS组用的大概是什么tech stack?口头答应了offer还可以谈sign on吗?西雅图computer vision scientist职位 (转载)【2019年2月20日 334 个股票的短期谷底高峰预测】 (转载)三番保安都刷题转码了网上内推有用吗?【工作机会】南京大学惠普三农金融科技研究中心诚招助理研究员 (博士后级别)问个另类的,半导体设备转EE-求建议纽约职场“潜规则”白人少女性多老中的世界里只有Pip和刷题办公室恋情,就真的“该死”吗?见过裁员,没见过这么开心的OPT邮寄到后多久他们会cash out 支票??公司上市或者被收购的可能性多大?换工作的选择 (转载)