撰文 | JZ
专栏 | 九章算法
题目描述
给出一个字符串str,找到最长重复不小于k次的子串,输出长度,子串可以有重叠部分,但不能完全重叠。
思路点拨
可以通过枚举子串+hash的方法做到O(n^2),当然如果用算法竞赛中的后缀数组+二分答案可做到O(nlogn)。
考点分析
枚举子串计数很容易想到,不过能想到用hash优化字符串比较那一步就能将复杂度降一个维度。这里做hash需要边枚举边hash。
九章参考程序
https://www. jiuzhang.com/solution/l ongest-repeating-substring/
![v2-cb57678a8bd54841a41a2dbc8f78f17a_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/6abd7a10f1ff56f010109d15d5bb8fce.png)