KMP模板
来源:互联网 发布:为什么淘宝登陆不上去 编辑:程序博客网 时间:2024/04/28 16:05
void get_next(const string sub, int *next){ int len=sub.length(); int i,k; next[0]=k=-1; for (i=0; i<len;) { if (k==-1 || sub[i]==sub[k]) { k++; i++; if (sub[k]!=sub[i]) next[i]=k; else next[i]=next[k]; //避免重复计算优化next数组 } else k=next[k]; }}int KMP(const string str, const string sub, const int *next) //返回子串在主串中的起始位置下标 { int i,j; int len1=str.length(); int len2=sub.length(); for (i=0, j=0; i<len1 && j<len2;) { if (j==-1 || str[i]==sub[j]) { i++; j++; } else { j=next[j]; } } if (j==len2) return i-len2; return -1; //如果找不到就返回-1}
- KMP模板
- KMP 模板
- kmp模板
- kmp模板
- kmp模板
- KMP模板
- kmp模板
- kmp模板
- KMP 模板
- 【模板】KMP
- KMP模板
- KMP模板
- 【KMP 模板】
- KMP模板
- KMP 模板
- kmp模板
- KMP模板
- KMP 模板
- 非阻塞connect的实现
- 如何尽快熟悉一个行业
- Ubuntu编译Linux内核过程
- dr
- HTTP协议(RFC2616)的两种认证机制(Basic和Digest)
- KMP模板
- 汇编语言:一维数组的动态访问
- 黑马程序员-java学习之多线程
- UNIX网络编程--实现并发UDP服务器
- 详细介绍c++/vc++标准模板库(STL)中的map的使用攻略!
- Qt-QTableWidget
- AndroidManifest.xml文件解析
- 最大堆和最小堆找中位数
- Turning Vim into a modern Python IDE