【KMP】KMP算法模板

来源:互联网 发布:mac改变pdf文件大小 编辑:程序博客网 时间:2024/04/30 23:27
char t[N], p[M];int n, m, f[M];void get_f(){    f[0] = -1;    int i = 0, j = -1;    while(i < m) {        if(j == -1 || p[i] == p[j]) {            i++; j++;            f[i] = j;        }        else j = f[j];    }}int match(){    get_f();    int i = 0, j = 0, ans = 0;    while(i < n) {        if(j == -1 || t[i] == p[j]) {            i++; j++;            if(j == m) {                ans++;                j = f[j];            }        }        else j = f[j];    }    return ans;}

1 0
原创粉丝点击