Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में दो स्ट्रिंग्स वर्ण स्वैप करके समान हो सकती हैं या नहीं जांचने का प्रोग्राम

मान लीजिए हमारे पास दो लोअरकेस स्ट्रिंग्स 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
  1. Python में दो ट्री नोड्स को स्वैप करके बनाए जा सकते हैं या नहीं, इसकी जांच करने का प्रोग्राम Python में दो ट्री नोड्स को स्वैप करके बनाए जा सकते हैं या नहीं, इसकी जांच करने का प्रोग्राम

    मान लीजिए हमारे पास दो ट्री हैं, हमें यह जांचना है कि क्या हम पहले ट्री को दूसरे में किसी भी नोड के बाएं और दाएं सबट्री को कितनी भी बार स्वैप करके बदल सकते हैं। तो, यदि इनपुट इस तरह है तो आउटपुट True होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: que1 := root0 के साथ प्रारंभ एक कतार que2

  1. - पायथन में दो स्ट्रिंग्स के 0 या 1 एडिट डिस्टेंस पर होने की जांच करने का प्रोग्राम

    मान लीजिए हमारे पास दो स्ट्रिंग्स S और T हैं हमें जांचना है कि क्या वे एक या शून्य एडिट डिस्टेंस पर हैं या नहीं। एक एडिट ऑपरेशन को एक वर्ण हटाना, एक वर्ण जोड़ना, या एक वर्ण को दूसरे वर्ण से बदलना परिभाषित किया जा सकता है।इसलिए, यदि इनपुट S = hello, T = hallo जैसा है, तो आउटपुट True होगा, क्योंकि इन

  1. - पायथन में समान लंबाई की दो स्ट्रिंग्स को वर्णों की अदला-बदली करके बराबर बनाने का प्रोग्राम

    मान लीजिए हमारे पास लंबाई n की दो स्ट्रिंग्स s और t हैं। हम s से एक वर्ण और t से एक वर्ण ले सकते हैं और उन्हें स्वैप कर सकते हैं। हम असीमित संख्या में स्वैप कर सकते हैं; हमें जांचना है कि क्या दोनों स्ट्रिंग्स को बराबर बनाना संभव है या नहीं। उदाहरण के लिए, यदि इनपुट s = xy, t = yx है, तो आउटपुट Tru