遍历主串所有子串 找到重复子串的重复次数 有什么高效算法
时间: 2024-05-25 12:12:47 浏览: 143
算法之《寻找最大重复子串》
这个问题其实就是求最长重复子串的问题,可以使用后缀数组和最长公共前缀数组来解决。具体算法如下:
1. 构建原始字符串的后缀数组。
2. 根据后缀数组构建最长公共前缀数组LCP。
3. 对于每个LCP值大于0的相邻后缀,它们的最长公共前缀就是一个重复子串。
4. 统计所有重复子串的重复次数。
这个算法的时间复杂度为O(nlogn),其中n为字符串长度。具体实现可以参考相关算法书籍或者网上资料。
阅读全文