algorithm - 最长非重叠子串

标签 algorithm string substring programming-pearls

我想知道是否有人知道最长循环非重叠子字符串的(最佳?)算法。

例如,在字符串中

ABADZEDGBADEZ

最长的重复出现是“BAD”。顺便说一下,如果没有这样的结果,算法应该提醒这样的事情已经发生。我的猜测是这涉及到后缀树。

我确定这一定已经存在于某处。感谢您的帮助!

最佳答案

Suffix array是解决该问题的良好数据结构。

Programming Pearls中有这个问题的解决方案。乔恩·本特利 (Jon Bentley) 着。

关于algorithm - 最长非重叠子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1323736/

相关文章:

c++ - 子串一个字符 C++

php - 在 PHP 中使用 substr_count() 和数组

algorithm - 如何使用 BFS 按顺序获取包含某些给定节点的路径?

algorithm - 按位和子数组的不同值

.net - StringBuilder.AppendLine() 不会创建新行

python - 正则表达式查找括号之间包含确切子字符串的整个子字符串

r - 梯度下降算法错误 non-comformable arguments

algorithm - 寻找具有已知解决方案的欧几里德 TSP 示例

java - 如何向数组添加新元素?

string - 查找没有特定子字符串的字符串数