मान लीजिए हमारे पास एक स्ट्रिंग s और एक संख्या k है, हमें s के आकार k के उन सबस्ट्रिंग्स की संख्या ढूंढनी है जो s में एक से अधिक बार आते हैं।
उदाहरण के लिए, यदि इनपुट s = "xxxyyy", k = 2 है, तो आउटपुट 2 होगा।
इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:
seen := []।iको 0 सेlen(s)-kतक:t := s[i:i+k]।seen.append(t)।
mp := Counter(seen)(आवृत्ति मैप)।उन तत्वों की गिनती का योग लौटाएं जिनकी आवृत्ति > 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