最小覆盖子串的长度
来源:互联网 发布:qq封号解封软件 编辑:程序博客网 时间:2024/05/07 04:46
最小覆盖子串:对于某个字符串s,它的最小覆盖子串指的是长度最小的子串p,p满足通过自身的多次连接得到q,最后能够使s成为q的子串。
比如:
对于s="abcab",它的最小覆盖子串p="abc",因为p通过在它后面再接上一个p(即重叠0个字符),可以得到q="abcabc",此时s是q的子串。
对于s="ababab",它的最小覆盖子串为p="ab"。
根据KMP算法的next数组的定义,设字符串s的长度为n,则next[n] = next[n - 1],n-1为s的最后一位。
next[n]表明s[0,1,2,...,next[n]-1] == s[n-next[n],...,n-1],设这两段分别为s1和s2。
若s1和s2的长度之和小于s的长度,则说明s1和s2分别为不重叠的前缀和后缀,则最小覆盖子串必为s截去s2之后得到的前缀。
若s1和s2的长度之和大于等于s的长度,则最小覆盖子串也必为s截去s2之后得到的前缀。
以上两种情况都可以推出这个结论:最小覆盖子串是s的前缀,它的长度为n-next[n]。
http://blog.csdn.net/fjsd155/article/details/6866991 详细解释可以看这篇博文。
- 最小覆盖子串的长度
- 最小覆盖子串
- 最小子串覆盖
- 最小覆盖子串
- 最小子串覆盖
- 最小子串覆盖
- 最小子串覆盖
- 最小子串覆盖
- 最小覆盖子串 KMP
- LintCode:最小子串覆盖
- 【t011】最小覆盖子串
- Lintcode 最小子串覆盖
- lintcode--最小子串覆盖
- 字符串问题---最小包含子串的长度
- Periodic Strings最小循环子串的长度
- KMP与最小覆盖子串
- KMP与最小覆盖子串
- KMP与最小覆盖子串
- (Manual) Beej's Guide to Network Programming
- Spring的作用
- IOCP知识点及疑惑
- javaweb开发学习jsp内置对象之session对象
- 学习 ARM 系列 -- FS2410 开发板上的中断编程
- 最小覆盖子串的长度
- 黑马程序员_内部类
- uboot环境变量
- javaweb开发学习jsp内置对象之application对象
- 写给想当程序员的朋友(网摘,并删除部分)
- Linux沙箱技术 - Setuid Sandbox
- C#语言 规范
- javaweb开发学习jsp内置对象之config对象
- 二叉树的二叉链表实现