我昨天在算法测试中遇到了这个问题,我想不出答案。这简直要把我逼疯了,因为它值40分。我想大多数同学都没有正确地解出来,因为我在过去的24小时里没有想出一个解决方案。
给定一个长度为 n 的任意二进制字符串,在字符串中找到三个间隔均匀的字符串(如果它们存在)。编写一个算法,在 O (n * log (n))时间内解决这个问题。
所以像这样的字符串有三个“均匀间隔”的字符串: 11100000,0100100100
编辑: 这是一个随机数,所以它应该能够为任何数字工作。我给出的例子是为了说明“均匀间隔”属性。所以1001011是个有效数字。1,4,7是等间距的。