<分区>
给定一个长度为 N(<=10^5) 的二进制字符串,我想求出该字符串的循环长度。 循环的长度将最多 1000 且至少 1。
例子:
110110110110 循环长度为3(图案重复为110)
000000 循环长度为1(图案重复为0)
1101101101 循环长度为3(图案重复为110)
我试图理解Floyd's cycle detection algorithm但我无法理解如何申请这个问题。
如何有效地解决这个问题? (我想要一个在 O(NlogN) 或更好的时间内运行的算法)。