【day-13】KMP完整版+升级版
来源:互联网 发布:敏捷网络的五个理念 编辑:程序博客网 时间:2024/06/06 03:55
#include <iostream>#include <vector>using namespace std;template<class T>void print_vector(vector<int> input){ for(auto it=input.begin(); it!=input.end(); ++it) { cout<<*it<<" "; } cout<<endl;}vector<int> NEXT_v2(const string &partten){ vector<int> next(partten.size()); int k=-1; int i=0; next[0]=-1; while(i<partten.size()) { if(k==-1 || partten[i]== partten[k]) { if(partten[++i]==partten[++k]) { next[i]=next[k]; } else { next[i]=k; } } else { k=next[k]; } } return next;}vector<int> NEXT(const string &partten){ vector<int> next(partten.size()); int k=-1; int i=0; next[0]=-1; while(i<partten.size()) { if(k==-1 || partten[i]== partten[k]) { next[++i]=++k; } else { k=next[k]; } } return next;}/*AB0123456789AAAABCD11------------AAAABCD0123456789012*/int main(){ string str("AB0123456789AAAABCD11"); string partten("AAAABCD"); int str_index=0,partten_index=0; vector<int> next=NEXT(partten); print_vector<int>(next); vector<int> next_v2=NEXT_v2(partten); print_vector<int>(next_v2); while( partten_index!=partten.size() && str_index!=str.size() ) { if(str[str_index]==partten[partten_index]) { str_index++; partten_index++; } else { if(partten_index==0) { str_index++; } else { partten_index=next[partten_index]; } } } //匹配成功,返回下标 if(partten_index==partten.size()) { cout<<str_index-partten_index<<endl; } else { cout<<"Not Found!\n"<<endl; } return 0;}
0 0
- 【day-13】KMP完整版+升级版
- KMP 算法完整版
- android应用增量升级 部分升级 完整版
- zoj 3785 What day is that day?(找规律,KMP)
- 【day-12】KMP的next数组
- 《好乐Day》王蓉-官方完整版MV+舞…
- 《好乐Day》王蓉-官方完整版MV+舞…
- 《好乐Day》王蓉-官方完整版MV+舞…
- 《好乐Day》王蓉-官方完整版MV+舞…
- 《好乐Day》王蓉-官方完整版MV+舞…
- 《好乐Day》王蓉-官方完整版MV+舞…
- 《好乐Day》王蓉-官方完整版MV+舞…
- 《好乐Day》王蓉-官方完整版MV+舞…
- 《好乐Day》王蓉-官方完整版MV+舞…
- 《好乐Day》王蓉-官方完整版MV+舞…
- 《好乐Day》王蓉-官方完整版MV+舞…
- 《好乐Day》王蓉-官方完整版MV+舞…
- day-13
- 获取文件夹下所有子文件夹名
- mysql连接中出现的一些问题以及解决方法
- CSU 1911 Card Game 快速沃尔什变换(FWT)模板题
- memcached-4-memcached的分布式算法
- Linux服务器中直接执行sql文件
- 【day-13】KMP完整版+升级版
- C++ 判断点是否在一个面内
- Servlet容器Tomcat中web.xml中url-pattern的配置详解[附带源码分析]
- POJ-3660-Cow Contest
- memcached-5-memcached的应用和兼容程序
- hibernate jpa Table "xxxx" cannot be resolved
- EditText属性讲解
- css3
- hdu 5245 2015 上海邀请赛(期望值 数学概率)