28. 找出字符串中第一个匹配项的下标 - 力扣(LeetCode)
kmp算法着实非常烧脑 还是结合代码随想录里面去看
自己也总结了一下 next数组里j的走法
next具体函数构建还要多练
自己也写了一下这个前缀表
- 前缀是指不包含最后一个字符的所有以第一个字符开头的连续子串;
- 后缀是指不包含第一个字符的所有以最后一个字符结尾的连续子串
i表示后缀末尾 j表示如果匹配相同 i的前一个数 如果不匹配就找上一个j值知道完成匹配后的值 和相同相等前后缀的个数(如aabaa 前后缀相同是2:a aa aa a)
next和前缀表分为 四步
初始化
前后缀不相同
前后缀相相同
更新next数组


感觉脑子知道 手不会hhh
文章探讨了在LeetCode上的字符串匹配问题,重点介绍了KMP算法的难点和理解,特别是next数组的构建过程。作者提到,next数组用于记录前缀和后缀的匹配信息,对于不匹配时如何移动指针有关键作用。虽然算法复杂,但通过实践和学习资源如代码随想录,可以逐步掌握。
1129

被折叠的 条评论
为什么被折叠?



