KMP算法
来源:互联网 发布:高端 商务礼品 知乎 编辑:程序博客网 时间:2024/06/08 19:19
// KMP.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<iostream>using namespace std;void next(char * s1, int* next, int n);int _tmain(int argc, _TCHAR* argv[]){/*char s1[50];char s2[50];int n = 0;cin >> s1;cin >> s2;cin >> n;int j = 0;int i = 0;for (; i<50 && s1[i] != '\0' && s2[j] != '\0'; i++){if (s1[i] == s2[j]){j++;}else{i = i - j;j = 0;}}if (j == n){cout << i - j << endl;}*///cout<<s1 <<"\t"<<s2<<endl;char s1[50];char s2[50];int n = 0;cin >> s1;cin >> s2;cin >> n;int nexts[50];next(s1, nexts, n);int j = 0;int i = 0;for (; i<50 && s1[i] != '\0' && s2[j] != '\0'; i++){if (s1[i] == s2[j]){j++;}else{i = i - j;j = nexts[j];}}if (j == n){cout << i - j << endl;}system("pause");return 0;}void next(char * s1,int* next,int n){int k = 0;next[0] = 0;for (int i = 1; i < n; i++){k = next[i - 1];while (k>0 && s1[k]!=s1[i] ){k = next[k-1];}if (s1[k] == s1[i]){k++;}next[i] = k;}}
0 0
- KMP算法详解 【KMP】
- 【KMP】KMP算法模板
- KMP hihoCoder1015 KMP算法
- kmp算法
- KMP算法
- KMP算法
- KMP算法
- KMP算法
- KMP 算法
- kmp算法
- KMP算法
- kmp算法
- KMP算法
- KMP算法
- kmp算法
- kmp算法
- KMP算法
- KMP算法
- Windows上C++使用命名管道进行进程间通讯
- ajax 每10秒调用一次接口
- 一个小算法的优化
- JSONArray与Java对象之间的转换
- HDU 3966 Aragorn's Story(树链剖分)
- KMP算法
- Python之inspect模块实现获取加载模块路径
- 运算符
- 实现数据库与项目的链接
- makefile调试技巧1
- 【Hotspot】tomcat参数调整
- 自己编写的shell脚本开机运行
- nyoj 891 找点
- LINUX下同步时间