现在的位置: 首页 > 综合 > 正文

最大连续重复子串

2013年08月17日 ⁄ 综合 ⁄ 共 1398字 ⁄ 字号 评论关闭

问题描述:寻找一个字符串中的某个子串,它是由某个字符串"连续重复构成",求出“连续重复次数最多”构成的那个sub—字符串。如果存在多个结果,求出字典排序最小的一个。

比如对于字符串abababcc,“ababab”是最大连续重复子串,其中“ab”重复次数是3。

再比如:bbbaaa,问题的答案是“aaa”,”a“重复3次构成。虽然"bbb"也是由"b"连续三次构成,但是字典排序"aaa"<"bbb"。

 

问题求解:

这个问题可以把”连续重复字符串“看作一个子问题(参看之前blog),然后遍历整个字符串的长度L,对每个长度为L的子串都调用”子问题“,分别求出每个子串的next数组,最后取重复次数最多的结果(如果唯一,否则,字典排序子串)。

 

这样的时间复杂度很高,但是实在也想不出什么高效的算法,杯具……

抱歉!评论已关闭.