博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
KMP
阅读量:6429 次
发布时间:2019-06-23

本文共 790 字,大约阅读时间需要 2 分钟。

//KMP//求匹配子串 #include
#include
#include
#include
#include
#include
using namespace std;int lena,lenb,next[1000001];//next[a]存放在a长度的子字符串中前后缀相同最长的长度 char a[1000001],b[1000001];void getnxt(){ int num=0; for(int i=2;i<=lenb;i++) { while(num&&b[num+1]!=b[i]) num=next[num]; if(b[num+1]==b[i]) num++; next[i]=num; }}void KMP(){ int num=0; for(int i=1;i<=lena;i++) { while(num&&b[num+1]!=a[i]) num=next[num]; if(b[num+1]==a[i]) num++; if(num==lenb) cout<
<
>a+1; getchar(); cin>>b+1; lena=strlen(a+1); lenb=strlen(b+1); getnxt(); KMP(); for(int i=1;i<=lenb;i++) cout<
<<" "; return;}int main(){ do_something(); return 0;}

 

转载于:https://www.cnblogs.com/water-radish/p/9280631.html

你可能感兴趣的文章
八大排序算法的Java实现
查看>>
IDEA+Maven+Tomcat构建项目流程
查看>>
java 线程机制
查看>>
数据是重要的战略资源,数据同样是产品非常重要的组成部分。淘宝对中国最大的贡献,不只是方便了老百姓购物,而是把中国消费者的消费习惯数据慢慢沉淀下来。...
查看>>
Leetcode Find Minimum in Rotated Sorted Array
查看>>
Python接口测试-使用requests模块发送post请求
查看>>
System.currentTimeMillis()计算方式与时间的单位转换
查看>>
Extra:Variable Types
查看>>
js传参时,没有参数传入,默认值的设置
查看>>
ASP.NET温故而知新学习系列之ASP.NET多线程编程—.NET下的多线程编程Thread中委托的使用(六)...
查看>>
使用 Spring HATEOAS 开发 REST 服务
查看>>
最新整理知识结构图
查看>>
linux安装mysql
查看>>
flask 2 进阶
查看>>
JS 循环遍历JSON数据
查看>>
sentences in movies and teleplays[1]
查看>>
【20181023T1】战争【反向并查集】
查看>>
win7网络共享原来如此简单,WiFi共享精灵开启半天都弱爆了!
查看>>
iOS9 未受信任的企业级开发者
查看>>
paper 40 :鲁棒性robust
查看>>