मान लीजिए कि हमारे पास एक स्ट्रिंग s और दूसरा मान k है, हम बार-बार सबसे पहले k लगातार डुप्लिकेट वर्णों को हटाते हैं, और अंतिम स्ट्रिंग लौटाते हैं।
इसलिए, यदि इनपुट s ="paaappmmmma" k =3 जैसा है, तो आउटपुट "ma" होगा, जैसे कि जब हम "pppmmmma" प्राप्त करने के लिए तीन "a" को हटाते हैं। फिर हम "mmmma" प्राप्त करने के लिए तीन "p" को हटाते हैं। फिर "मा" पाने के लिए चार "एम" में से तीन को हटा दें।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
- निम्न चरणों को असीम रूप से करें, करें
- गिनती :=0
- chars :=s से अद्वितीय वर्ण प्राप्त करें
- वर्णों में प्रत्येक वर्ण c के लिए, करें
- यदि k क्रमागत c, s में है, तो
- s से लगातार k c हटाएं
- गिनती :=गिनती + 1
- यदि k क्रमागत c, s में है, तो
- यदि गिनती 0 के समान है, तो
- लूप से बाहर आएं
- रिटर्न
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण
class Solution: def solve(self, s, k): while True: count = 0 chars = set(s) for c in chars: if c * k in s: s = s.replace(c * k, "") count += 1 if count == 0: break return s ob = Solution() s = "paaappmmmma" k = 3 print(ob.solve(s, k))
इनपुट
"paaappmmmma", 3
आउटपुट
ma