मान लीजिए हमारे पास एक स्ट्रिंग है, हमें जांचना है कि क्या यह एक दोहराव वाली स्ट्रिंग है या नहीं।
उदाहरण के लिए, यदि इनपुट string = "helloworldhelloworld" है, तो आउटपुट True होगा।
इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:
n := len(s)।findFactors(n)फ़ंक्शन परिभाषित करें जोnके सभी गुणनखंड (फैक्टर्स) का सेट लौटाता है।प्रत्येक
iके लिएfactमें:यदि
i == n, तो जारी रखें।ss := s[:i]।val := s.count(ss)।यदि
val == n/i, तोTrueलौटाएं।
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