例如,给定字符串“abc fghi bc kl abcd lkm abcdefg”,该函数应返回字符串“abcd”和 2 的计数。
O(n^2) 的解决方案似乎很简单,但我正在寻找更好的解决方案。
已编辑:如果没有比 O(n^2) 更好的方法,那么哪种方法是最佳性能明智的。
最佳答案
您可以通过构建 suffix tree 在线性时间内解决此问题并采取从根到最深内部节点的路径;这将为您提供最长的重复字符串。获得该字符串后,计算它出现的次数就很简单了。
关于c - 查找最长的重复字符串及其在给定字符串中重复的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2172033/