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 }

最新文章

  1. 【转载】使用pandas进行数据清洗
  2. PDF.NET SOD 开源框架红包派送活动 &amp;&amp; 新手快速入门指引
  3. 建筑行业如何用BPM替换OA?
  4. C# 发邮件
  5. for-in遍历json数据
  6. 【JS Note】undefined与null
  7. delphi 获取网页源代码
  8. BeeFramework
  9. dubbo初体验
  10. 虚拟rethat联网问题
  11. C51编译器扩展的关键词 &amp; C51中断函数的写法
  12. WCF部署在IIS上
  13. 用于Mysql操作的MySqlHelper类
  14. Linux tar包安装Nginx-1.7.6 (yum方式安装依赖)
  15. 自动化测试-17.selenium数据的分离之txt文本的写入与读取
  16. lvs UDP端口负载均衡配置
  17. Java标识符和关键字(static,final,abstract,interface)
  18. Redhat 7改动默认执行级别方法 --RHEL7使用systemd创建符号链接指向默认执行级别
  19. Angularjs和Ionic框架搭建webApp
  20. 静态NAT地址转换

热门文章

  1. API 小白入门教程
  2. 大道至简的架构设计思想之:封装(C系架构设计法,sishuok)
  3. 随机颜色,加载loading效果,节流,应用周期函数,wxs
  4. zabbix-agent2安装问题汇总
  5. vue框架回顾
  6. PV动态供给之nfs
  7. python读取Excel指定单元格的值
  8. java 内存锁
  9. java 自定义注解与示例
  10. 靶场练习2:cloudantvirus