मान लीजिए हमारे पास एक स्ट्रिंग s और एक अन्य संख्या k है, हमें जांचना है कि क्या हम s में सभी कैरेक्टर का उपयोग करके k पैलिंड्रोम बना सकते हैं या नहीं।
उदाहरण के लिए, यदि इनपुट है s = "amledavmel" k = 2, तो आउटपुट True होगा, क्योंकि हम "level" और "madam" बना सकते हैं।
इसे हल करने के लिए, हम निम्न चरणों का पालन करेंगे
- d := एक मैप जहां प्रत्येक यूनिक कैरेक्टर और उनकी आवृत्ति स्टोर करें
- cnt := 0
- d में प्रत्येक key के लिए, करें
- यदि d[key] विषम है, तो
- cnt := cnt + 1
- यदि cnt > k, तो
- False लौटाएं
- यदि d[key] विषम है, तो
- True लौटाएं
बेहतर समझ के लिए निम्न कार्यान्वयन देखें
उदाहरण
from collections import Counter class Solution: def solve(self, s, k): d = Counter(s) cnt = 0 for key in d: if d[key] & 1: cnt += 1 if cnt > k: return False return True ob = Solution() s = "amledavmel" k = 2 print(ob.solve(s, k))
इनपुट
"amledavmel",2
आउटपुट
True