直接举例:
* s: aabaaf
*
* s的next:
* 前缀:不包含末尾的所有字符串
* 后缀:不包含开头的所有字符串
*
* 前缀: 后缀:
* a, f,
* aa, af,
* aab, aaf,
* aaba, baaf,
* aabaa, abaaf,
* aabaaf, ❌ aabaaf, ❌ 这一行不是前缀也不是后缀
*
* 最长相等的前后缀:
* a 0 只有一个,0
* aa 1 前缀:a。后缀:a
* aab 0 前缀:a、aa。后缀:b、ab。
* aaba 1 前缀:a、aa、aab。后缀:a、ba、aba。
* aabaa 2 前缀:a、aa、aab、aaba。后缀:a、aa、baa、abaa。
* aabaaf 0 ....
*
* next = 【 0,1,0,1,2,0 】,next就是s的前缀表。
*
* 1. next中的值代表着该子串的最长相等前后缀的长度,
* 2. 因为数组是从0开始的,该值还表示子串最长相等前后缀的下一项的索引
*
* 例如: next[4] = 2, 其对应的子串是aabaa,前缀和后缀相等的只有a、aa,长度为2。
* s[2] === b 恰好等于下一项的索引。
KMP算法next数组
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1. 字符串匹配问题 假如我们有一个模式字符串ABCDABD和一个目标字符串BBC ABCDAB ABCDABCD...
- https://blog.csdn.net/lewutian/article/details/4525390懒得写...