在Python中检查字符串是否重复字符串的程序

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

因此,如果输入类似于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
      猜你喜欢