查找通过重复创建整个字符串的子字符串

时间:2017-01-05 18:47:16

标签: string

我有字符串" hrhrhrhrhr"。

我想找到t的最小子字符串,这样我们就可以通过多次附加该子字符串来制作整个字符串。

在这个例子中,我可以制作字符串" hrhrhrhrhr"通过四次附加" hr"与自己。

如何找到这种子串? 狐狸的例子, " ABCABCABC"然后" abc"是答案。

" TTTTTTT" - > " T"是答案。

" ABCD" - > " ABCD"是答案。

我应该使用哪种算法或具体方法?

1 个答案:

答案 0 :(得分:0)

我建议你看一下字符串匹配/搜索算法。特别是,如果您使用KMP(Knuth-Morris Pratt)算法来搜索字符串本身,查找表将产生模式。此外,表中的最大数字将为您提供要搜索的子字符串的结束字符(如果字符串确实由一个子字符串的重复组成)。