#1015 : KMP算法
来源:互联网 发布:ubuntu 64 位.vmdk 编辑:程序博客网 时间:2024/06/18 10:21
题目及解答
详细的可以看数据结构书(C语言版)严蔚敏 P80页。我觉得那个讲解比较清楚一些。
代码
这是我重写的代码
#include<iostream>#include<string>using namespace std;#define max 10005int ne[max];int main(){ string s, s1; int i, j; int N; int ans; while (cin >> N){ while (N--){ cin >> s; cin >> s1; ans = 0; //构建next数组 i = 1; ne[1] = 0; j = 0; while (i <= s.length()){ if (j == 0 || s[i - 1] == s[j - 1]){ ++i; ++j; ne[i] = j; } else j = ne[j]; } //显示next数组 /* for (i = 1; i <= s.length (); i++) cout << next[i] << " "; cout << endl;*/ //KMP匹配 int len = s.length(); for (i = 0, j = 1; i < s1.length();){ if (j == 0 || s[j - 1] == s1[i]){ i++; j++; } else j = ne[j]; if (j == len+1)ans++; } cout << ans << endl; } } return 0;}
0 0
- #1015 : KMP算法 裸kmp
- ACM #1015 KMP算法
- hihoCoder - 1015 - KMP算法
- [HiHoCoder]#1015 : KMP算法
- hihoCoder#1015 KMP算法
- hihocoder#1015 : KMP算法
- #1015 : KMP算法
- hihoCoder 1015 : KMP算法
- hihoCoder #1015 : KMP算法
- hihoCoder#1015 KMP算法
- #1015 : KMP算法
- hihocoder #1015 KMP算法
- 1015 : KMP算法
- [Hiho]1015-KMP算法
- hihoCoder 1015 KMP算法
- hihoCoder 1015 KMP算法
- #1015 : KMP算法
- hihocoder #1015 kmp算法
- 2-8prev + next选择器
- python 网络一分钟 get IP
- 关于我
- Tomcat内核之Tomcat的类加载器
- java实现第三方登录
- #1015 : KMP算法
- bzoj 4631: 踩气球 线段树建图
- 链接与链接脚本
- 剑指offer-3-面试13:在O(1)时间删除链表结点
- Objective-C类的定义和实现
- 2-9prev ~ siblings选择器
- JavaScript 实现使用时间差来转换倒计时效果。
- 3-1:first过滤选择器
- mysql主键 外键 索引