字符串最短循环子串

39 阅读1分钟

image.png

字符串最短循环子串

1.通过for循环来遍历不同长度的可能子串情况,循环变量lenth代表子串的长度,其取值范围是从1开始,到字符串s长度的一半加1结束(range(1, len(s) // 2 + 1)

2.在每次循环中使用s[0:l]提取对应的子串,并将其赋值给变量sub。然后,通过len(s) // len(sub)计算这个子串在原字符串中理论上应该重复的次数,并将结果赋值给变量t

3.使用if sub * t == s判断提取出来的子串sub重复t次后是否与原字符串s相等。直接使用return sub返回这个子串。

4.算法经过豆包AI优化。