超简单KMP算法及代码解释
超简单KMP算法及代码解释
一、假如你已经知道一些大概,只用求next数组的话。
我们假设next[k]表示以k结尾的最长前后缀相等长度,
(这样的话,我们在和主串比对的时候,子串j只移动到 前j-1段的相等前后长度next[j-1]的下一个位置与主串i比对,即j = next[j-1])
那么我们怎么求解next数组呢?先看代码
vector<int> calNext(const string &sub) {
int n = sub.size(), k = 0;
原创
2021-07-24 16:33:50 ·
288 阅读 ·
1 评论