मान लीजिए कि हमारे पास एक स्ट्रिंग s है, हमें यह जांचना होगा कि s का कोई क्रमपरिवर्तन एक पैलिंड्रोम है या नहीं।
इसलिए, यदि इनपुट s ="admma" जैसा है, तो आउटपुट ट्रू होगा, क्योंकि हम "admma" को "मैडम" में पुनर्व्यवस्थित कर सकते हैं जो एक पैलिंड्रोम है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- c :=एक नक्शा जिसमें प्रत्येक व्यक्तिगत वर्ण संख्या s है
- गिनती :=0
- c के सभी मानों की सूची में प्रत्येक i के लिए, करें
- अगर मैं विषम है, तो
- यदि गिनती 0 के समान है, तो
- गिनती :=गिनती + 1
- लूप से बाहर आएं
- झूठी वापसी
- यदि गिनती 0 के समान है, तो
- अगर मैं विषम है, तो
- सही लौटें
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
from collections import Counter class Solution: def solve(self, s): c = Counter(s) count = 0 for i in c.values(): if i % 2 != 0: if count == 0: count += 1 continue return False return True ob = Solution() s = "admma" print(ob.solve(s))
इनपुट
"admma"
आउटपुट
True