KMP笔记
KMP算法,是一种能在
KMP算法共分为
第
第
如何快速计算
若
在计算
#include<iostream> #include<cstring> #define MAXN 1000005 using namespace std; int Next[MAXN]; int len_a,len_b; char a[MAXN],b[MAXN]; int main(){ cin >> a+1; cin >> b+1; len_a = strlen(a+1); len_b = strlen(b+1); Next[1] = 0; for (int i = 2,j = 0; i <= len_b; i++){ while(j > 0 && b[i] != b[j+1]) j = Next[j]; if(b[i] == b[j+1]) j++; Next[i] = j; } for (int i = 1, j = 0; i <= len_a; i++){ while(j > 0 && b[j+1] != a[i]) j = Next[j]; if (b[j+1] == a[i]) j++; //输出匹配位置,然后继续匹配 if (j == len_b) { cout << i-len_b + 1 << endl; j = Next[j];} } for (int i = 1; i <= len_b; i++) cout << Next[i] << " "; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具