kmp模式串2求匹配的趟数
来源:互联网 发布:南宁哪里有mac专柜 编辑:程序博客网 时间:2024/06/06 00:49
Description
输入一个主串和一个子串,用KMP进行匹配,问进行几趟匹配才成功,若没成功,则输出0
Input
输入一个主串和一个子串
Output
匹配的趟数
Sample Input
ababcabcacbababcac
Sample Output
3
HINT
Source
#include <iostream>#include<string.h>#include<cstdio>using namespace std;int i,j,len1,len2;int next[101];char s[101],t[101];int main(){ cin>>s; cin>>t; len1=strlen(s);//string类用a.length()函数 len2=strlen(t); int i=0,j=-1; next[0]=-1; while(i<len2)//求next值是专门针对子串的(t串) { if(j==-1||t[i]==t[j]) { i++; j++; //if(a[i]!=a[j]) // next[i]=j; // else next[i]=j; } else j=next[j]; }//已经算出了next数组 i=0,j=0; int cnt=1; bool flag=false; while(i<len1)//遍历所有的s串 { if(s[i]==t[j]) { i++; j++; if(t[j]=='\0')//t串到头,flag=1标识 { flag=true; break; } } else if(next[j]==-1) { j=0; i++; cnt++; } else//j==-1||t[i]==t[j]排除后 { j=next[j]; cnt++; } } if(flag) cout<<cnt<<endl; else cout<<"0"<<endl; return 0;}
0 0
- kmp模式串2求匹配的趟数
- 串的kmp模式匹配
- KMP模式匹配 串2
- 串的匹配模式 蛮力匹配 KMP匹配
- 模式串匹配:KMP
- KMP 模式串匹配
- 单模式匹配KMP求匹配位置和匹配数目
- 串的模式匹配KMP算法
- 串的模式匹配 经典KMP算法
- 串的模式匹配KMP算法
- 串的模式匹配改进--KMP算法
- 串的模式匹配-KMP算法
- 串的模式匹配KMP算法模板
- 【数据结构】 串的模式匹配算法KMP
- 串的模式匹配算法(KMP)
- KMP 解决串的模式匹配问题
- 串的模式匹配---------kmp算法
- 串的模式匹配:KMP算法
- 参考上一篇的资料写的去重程序
- 关于参加OpenBLAS介绍会的一些心得
- Java 动态代理机制分析及扩展,第 1 部分
- 华为oj系列
- 黑马程序员——Swift学习笔记:函数
- kmp模式串2求匹配的趟数
- Git 多人协同开发
- perl多进程主进程等子进程结束
- 【POJ解题】:POJ3507 Judging Olympia
- java.lang.ClassCastException: com.sun.proxy.$Proxy4 cannot be cast to
- java写的爬虫
- 中国大陆主要银行卡号对应
- aws-cli简单介绍
- 包含min函数的栈