备注:最近复习软考发现next数组求解方法忘了,通过回忆想起来了老师的方法,以下方法仅为手算速度求解!!第一次写经验分享个人理解较浅可能存在误区,轻喷,自己写个帖子备忘
方法
默认前两位为-1和0,第三位往后循环判断它的前n位与从头开始的n位串是否有大相同?记最大n为nexti数组,最后整体➕1获得答案
看起来方法比较拗口,但是上手后解题速度很快,适合做选择题
例1:
串ababa
1.默认next数组前两位为-1和0
2.i=3时
3.i=4时
4.i=5时
5.数组全体➕1得到答案
例2.
1.默认
2.i=3
3.i=4
4.i=5时
5.i=6时
6.i=7时
7.i=8时
8.数组全体➕1得到答案
例3.
个人计算熟练后半分钟不到就可以做出来
各位可以自己试试
答案附下
过程简略画了一下
谢谢点赞收藏!