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