假设我们有一个字符串,我们必须检查它是否是重复的字符串。

因此,如果输入类似于string =“ helloworldhelloworld”,则输出将为True

为了解决这个问题,我们将遵循以下步骤-n:= s的大小

定义一个功能findFactors()。这将花费n

f:=一个新集合

我:= 1

当我*我<= n时将(n / i)的商插入f

将我插入f

如果n mod i等于0,则

我:=我+ 1

返回f

从主要方法中,执行以下操作-

事实:= findFactors(n)

实际上,对于每个我,返回True

进行下一次迭代

如果我和n相同

ss:= s [从索引0到i-1]

val:=在s中出现ss

如果val与(n / i)的商相同,则

返回False

让我们看下面的实现以更好地理解-

示例class Solution:

def solve(self, s):
n = len(s)
def findFactors(n):
f = set()         i = 1
while(i * i <= n):
if(n % i == 0):
f.add(int(n / i))
f.add(i)
i+= 1
return f
fact = findFactors(n)
for i in fact:
if(i == n):
continue
ss = s[:i]
val = s.count(ss)
if(val == int(n / i)):
return True
return False
ob = Solution()print(ob.solve("helloworldhelloworld"))

输入值"helloworldhelloworld"

输出结果True