KMP算法

前提:在字符串Q中找子串P

1.写出P的所有长度<P的子串
2.分别找出P的子串的最长公共前后缀(注意:前后缀不是回文)
3.求子串的前缀表prefix table,最前边补-1,然后逐次和子串元素对应
注:前缀表每项均+1即为next[]数组
4.从头进行比较,记录比较出错的位置的前缀表,把(数组下标==该前缀表元素)的数与出错位置对齐。
5.此后比较一旦出错,均采取步骤二的做法。

代码如下:




全部评论

相关推荐

07-09 19:25
门头沟学院 Java
这是要把每一个投校招的都开盒吗?
26届之耻将大局逆转:裁人的时候一次性追回餐费
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 13:47
机械打工仔:你自己匿名可以,这么好的公司就别给它匿名了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务