kmp失效函数(测试博客的编辑器)
2024-10-21 03:41:36
1 int *find_next(char *p)
2 {
3 int k = -1; //right shift i-k
4 int i = 0;
5 int m = strlen(p);
6 int *next = (int *)malloc(sizeof (int) * m);
7 next[0] = -1;
8 //maintain the k is the length of longest matching prefix of p[i]
9 while (i < m-1) { //after i++, i == m-1, the last index of element in next[]
10 while (k >= 0 && p[i] != p[k]) //how to assure the k is the length of longest matching substring of p[i]??
11 k = next[k];
12 i++;
13 k++;
14 next[i] = k;
15 }
16 return next;
17 }
最新文章
- 【转载】使用pandas进行数据清洗
- PDF.NET SOD 开源框架红包派送活动 &;&; 新手快速入门指引
- 建筑行业如何用BPM替换OA?
- C# 发邮件
- for-in遍历json数据
- 【JS Note】undefined与null
- delphi 获取网页源代码
- BeeFramework
- dubbo初体验
- 虚拟rethat联网问题
- C51编译器扩展的关键词 &; C51中断函数的写法
- WCF部署在IIS上
- 用于Mysql操作的MySqlHelper类
- Linux tar包安装Nginx-1.7.6 (yum方式安装依赖)
- 自动化测试-17.selenium数据的分离之txt文本的写入与读取
- lvs UDP端口负载均衡配置
- Java标识符和关键字(static,final,abstract,interface)
- Redhat 7改动默认执行级别方法 --RHEL7使用systemd创建符号链接指向默认执行级别
- Angularjs和Ionic框架搭建webApp
- 静态NAT地址转换