给定一个像"geekthegeertheregeers"
这样的字符串。所以我们必须在字符串本身中找到最长的公共子字符串。
就像在这种情况下"geer"
将是最长的共同子串。
我的问题是这里将应用哪种算法。可以修改LCS来找到这个问题的解决方案吗?
答案 0 :(得分:1)
问题是“在子字符串集中发现最长的子字符串不止一次”? “geekthegeertheregeers”的结果应该是“egeer”?
如果是这样,您可以为输入字符串构建后缀数组,并为后缀数组构造LCP(最长公共前缀)数组。两者都可以在O(N)中完成(N是输入字符串的长度)。
参考: