मान लीजिए कि हमारे पास दो लोअरकेस स्ट्रिंग्स s और t हैं, वे समान लंबाई के हैं। हम एक अक्षर को s से और दूसरे को t से चुन सकते हैं और उन्हें स्वैप कर सकते हैं। हम इस ऑपरेशन को जितनी बार चाहें उतनी बार कर सकते हैं। अंत में, हमें यह जांचना होगा कि क्या दो तारों को समान बनाना संभव है या नहीं।
इसलिए, यदि इनपुट s ="abcd" t ="cdab" जैसा है, तो आउटपुट सही होगा
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- fre :=एक सूची जिसमें s और t के संयोजित स्ट्रिंग में मौजूद प्रत्येक तत्व की आवृत्तियाँ होती हैं
- फ्री के सभी मूल्यों की सूची में प्रत्येक cnt के लिए, करें
- यदि cnt mod 2 1 है, तो
- झूठी वापसी
- यदि cnt mod 2 1 है, तो
- सही लौटें
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
from collections import Counter def solve(s, t): fre = Counter(s+t) for cnt in fre.values(): if cnt % 2: return False return True s = "abcd" t = "cdab" print(solve(s, t))
इनपुट
"abcd", "cdab"
आउटपुट
True