मान लीजिए कि हमारे पास एक स्ट्रिंग s और एक संख्या k है, हमें k-लंबाई वाले सबस्ट्रिंग्स की संख्या ज्ञात करनी है, जो s में एक से अधिक बार आती है।
इसलिए, यदि इनपुट s ="xxxyyy", k =2 जैसा है, तो आउटपुट 2
होगाइसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- देखा:=एक नई सूची
- i के लिए 0 से s - k के आकार के लिए, do
- t :=s का सबस्ट्रिंग [इंडेक्स i से i + k - 1]
- देखे के अंत में t डालें
- mp :=देखे गए सभी विशिष्ट तत्वों और उनकी घटनाओं के लिए एक नक्शा
- एमपी में प्रत्येक तत्व की सभी घटनाओं का रिटर्न योग जहां घटना 1 से अधिक है
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, s, k): from collections import Counter seen = [] for i in range(len(s) - k + 1): t = s[i : i + k] seen.append(t) s = Counter(seen) return sum(1 for x in s.values() if x > 1) ob = Solution() print(ob.solve("xxxyyy",2))
इनपुट
"xxxyyy",2
आउटपुट
2