编程语言
首页 > 编程语言> > 16 | KMP 算法的典型应用(匹配位置、求出所有相同前缀后缀、最多字串重复次数)

16 | KMP 算法的典型应用(匹配位置、求出所有相同前缀后缀、最多字串重复次数)

作者:互联网

记忆两段代码(注意字符串从下标为 1 开始存储)

// 计算字符串 p 的next 值
	for(int i=1,j=0;i<lenp;i++){
		while(j&&p[i+1]!=p[j+1]) j=ne[j];
		if(p[i+1]==p[j+1]) j++;
		ne[i+1]=j;
	}
for(int i=0,j=0;i<lens;i++){
		while(j&&s[i+1]!=p[j+1]) j=ne[j];
		if(s[i+1]==p[j+1]) j++;
		//判断匹配成功、
		if(j==lenp){
			//
		}
	}

标签:输出,16,int,ne,len,next,字串,KMP,字符串
来源: https://www.cnblogs.com/mmxingye/p/16386922.html