मान लीजिए हमारे पास दो लोअरकेस स्ट्रिंग्स s और t हैं, वे समान लंबाई की हैं। हम s से एक वर्ण और t से दूसरे को चुन सकते हैं और उन्हें स्वैप कर सकते हैं। हम यह ऑपरेशन जितनी बार चाहें कर सकते हैं। अंत में, हमें जांचना है कि क्या दोनों स्ट्रिंग्स को समान बनाना संभव है या नहीं।
इसलिए, यदि इनपुट है s = "abcd", t = "cdab", तो आउटपुट होगा True।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
fre :=sऔरtके संयुक्त स्ट्रिंग में मौजूद प्रत्येक तत्व की आवृत्तियों वाली एक सूचीfreके सभी मानों की सूची में प्रत्येकcntके लिए, करें:- यदि
cnt % 2 == 1, तो:Falseलौटाएं
- यदि
Trueलौटाएं
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
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