kmp算法
来源:互联网 发布:淘宝创立于哪一年 编辑:程序博客网 时间:2024/06/16 12:56
#include<cstdio>#include<cmath>#include<iostream>#include<cstdlib>#include<cstring>#include<algorithm>using namespace std;char s[1000],c[100];int next[1000];void getn(){ int i=0,j=-1; next[0]=-1; while(c[i]) { if(j==-1||c[i]==c[j]) { i++;j++; next[i]=j; } else j=next[j]; }}int match(){ int i=0,j=0,lc,ls; ls=strlen(s),lc=strlen(c); while(i<lc&&j<ls) { if(i==-1||c[i]==s[j])//一定不能漏i==-1 { i++,j++; } else i=next[i]; } if(i==lc) return j-lc; return -1;}int main(){ int i,j,n; scanf("%d",&n); while(n--) { scanf("%s%s",c,s); getn(); printf("%d\n",match()); } return 0;}
朴素对比
int cmp(){ int i,j,k,ls,lc; ls=strlen(s); lc=strlen(c); for(i=0;i<ls;i++) { for(j=i,k=0;k<lc&&s[j]==c[k];j++,k++); if(k==lc) return i; } return -1;}
0 0
- KMP算法详解 【KMP】
- 【KMP】KMP算法模板
- KMP hihoCoder1015 KMP算法
- kmp算法
- KMP算法
- KMP算法
- KMP算法
- KMP算法
- KMP 算法
- kmp算法
- KMP算法
- kmp算法
- KMP算法
- KMP算法
- kmp算法
- kmp算法
- KMP算法
- KMP算法
- 多线程开发2 -GCD
- 图像简介
- 对于好书APP的总结
- hdu 2844 Coins
- Web Service有关术语的解释
- kmp算法
- 判断其是否为一个回文串,java实现
- c++中使用struct,struct中有指针
- 用java代码实现二叉树的遍历算法
- java设计模式之命令模式
- 汉语拼音工具包相关实用方法
- Android项目编码的批量修改(GBK转UTF-8)
- springmvc和struts2的区别:
- runloop简单介绍及使用技巧