gpt4 book ai didi

string - 如何检测字符串中的回文循环长度?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:32:03 24 4
gpt4 key购买 nike

假设一个字符串是这样的“abaabaabaabaaba”,这里的回文循环是 3,因为你可以在每第 3 个位置找到字符串 aba,你可以通过将任意数量的“aba”连接到字符串来增加回文。

我认为使用 Manacher 算法可以有效地检测到这一点,但是如何呢?

最佳答案

在S+S中搜索字符串S,很容易找到。您找到的第一个索引是您想要的循环编号(可能是整个字符串)。在 python 中它会是这样的:

In [1]: s = "abaabaabaabaaba"

In [2]: print (s+s).index(s, 1)
3

1 用于忽略索引 0,那将是一个微不足道的匹配。

关于string - 如何检测字符串中的回文循环长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30923687/

24 4 0