KMP算法(模板)
来源:互联网 发布:snb自动交易软件 编辑:程序博客网 时间:2024/04/29 17:15
KMP简单应用
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
给定两个字符串string1和string2,判断string2是否为string1的子串。
输入
输入包含多组数据,每组测试数据包含两行,第一行代表string1(长度小于1000000),第二行代表string2(长度小于1000000),string1和string2中保证不出现空格。
输出
对于每组输入数据,若string2是string1的子串,则输出string2在string1中的位置,若不是,输出-1。
示例输入
abca12345645abcddd
示例输出
14-1
提示
来源
cjx
模板。
#include <cstdio>#include <cstring>#include <cmath>#include <iostream>#include <algorithm>using namespace std;char s[1000010];char t[1000010];int next[1000010];void get_next(){int i=0,j=-1,lent=strlen(t);next[0]=-1;while(i<lent)if(j==-1||t[i]==t[j])next[++i]=++j;elsej=next[j];}int kmp(){int i=0,j=0,lent=strlen(t),lens=strlen(s);get_next();while(i<lens&&j<lent){if(j==-1||s[i]==t[j]){++i;++j;}elsej=next[j];}if(j>=strlen(t))return i-strlen(t);elsereturn -1;}int main(){while(scanf("%s%s",s,t)!=EOF)if(kmp()!=-1)printf("%d\n",kmp()+1);elseprintf("-1\n");return 0;}
0 0
- KMP算法(模板)
- 【KMP】KMP算法模板
- KMP算法(各种模板)
- Number Sequence (KMP算法(模板))
- 算法学习之KMP(模板整理)
- hihocoder #1015 : KMP算法 (模板)
- HDU2087(KMP算法模板题)
- HDU1711(KMP算法模板题)
- kmp算法模板
- kmp算法模板
- KMP算法模板
- KMP算法模板
- KMP算法模板
- KMP算法标准模板
- KMP算法模板
- KMP算法模板
- KMP算法模板
- KMP算法模板
- 使用手机的摄像头进行拍照
- 关于Android焦点的个人理解,希望大家来指正。
- ASP.NET MVC Model绑定(三)
- ExtJS教程(4)---Ext.data.Model之基础应用
- phpexcel不能输出中文
- KMP算法(模板)
- linux下使用axel进行批量下载
- 视频录制机
- Web.xml中Lister、filter、servlet详解
- Gumbo 编译
- 博客学习二
- 说精也很精,说傻也很傻的小伙伴
- dom4j对xml文档的操作
- Maven安装与配置