发布网友 发布时间:2022-05-13 21:21
共2个回答
热心网友 时间:2023-10-29 14:36
你想想,如果一个长度L字符串是由n个长度L/n字串构成的。。那最后一个字符的next值是L-L/n吧。。然后搞就可以了追问不太懂..是用next的值判断? next的值最大就是最长的重复子串?追答我举个例子
比如一个字符串abbabbabbabbabb
一共15个字符
next[15]=12对吧?
你拿15-12=3就是最长重复字串的长度
现在说一般情况
假设next[length]=k
如果k|length那length/k就是最长重复字串长度;如果k不能整除length那最长重复字串就是它自己了。。
已经很详细了。。你自己再琢磨一下吧。。- -
热心网友 时间:2023-10-29 14:36
http://saturnman.blog.163.com/blog/static/5576112010969957130/