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

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


मान लीजिए हमारे पास दो वाक्य s और t हैं। हमें जांचना है कि वे समान हैं या नहीं। यहां वाक्य में केवल अंग्रेजी अक्षर होते हैं। दो वाक्यों को समान कहा जाता है जब इन दिए गए वाक्यों में से एक के अंदर एक मनमाना वाक्य (संभवतः खाली) जोड़ना संभव हो ताकि दोनों वाक्य बराबर हो जाएं।

उदाहरण के लिए, यदि इनपुट s = "we live at city Kolkata", t = "city Kolkata" है, तो आउटपुट True होगा क्योंकि हम t में वाक्य "we live in" जोड़कर s प्राप्त कर सकते हैं।

हल करने के चरण

  1. s1 := s के शब्दों की सूची
  2. s2 := t के शब्दों की सूची
  3. यदि len(s1) > len(s2), तो s1 और s2 को स्वैप करें।
  4. s1 खाली न होने तक व्हाइल लूप चलाएं:
    • यदि s2[0] == s1[0], तो s2 और s1 से पहला शब्द हटाएं।
    • अन्यथा यदि s2[-1] == s1[-1], तो s2 और s1 से अंतिम शब्द हटाएं।
    • अन्यथा, False वापस करें।
  5. True वापस करें।

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

def solve(s, t):
    s1 = s.split()
    s2 = t.split()
    if len(s1) > len(s2):
        s1, s2 = s2, s1
    while s1:
        if s2[0] == s1[0]:
            s2.pop(0)
            s1.pop(0)
        elif s2[-1] == s1[-1]:
            s2.pop()
            s1.pop()
        else:
            return False
    return True

s = "we live at city Kolkata"
t = "city Kolkata"
print(solve(s, t))

इनपुट

"we live at city Kolkata", "city Kolkata"

आउटपुट

True
  1. दो पत्तियों के लीफ अनुक्रम समान हैं या नहीं जांचने का पायथन प्रोग्राम दो पत्तियों के लीफ अनुक्रम समान हैं या नहीं जांचने का पायथन प्रोग्राम

    मान लीजिए हमारे पास दो बाइनरी ट्री हैं; हमें जांचना है कि क्या दोनों ट्री में बाएं से दाएं लीफ का अनुक्रम समान है। उदाहरण के लिए, यदि इनपुट इस तरह है: तो आउटपुट True होगा क्योंकि दोनों ट्री के लिए अनुक्रम [2, 6] है। इसे हल करने के लिए, हम निम्न चरणों का पालन करेंगे: c := एक नई सूची एक फ़ंक्शन ino

  1. Python में दो ट्री नोड्स को स्वैप करके बनाए जा सकते हैं या नहीं, इसकी जांच करने का प्रोग्राम Python में दो ट्री नोड्स को स्वैप करके बनाए जा सकते हैं या नहीं, इसकी जांच करने का प्रोग्राम

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

  1. पायथन में जांचें कि दिया गया ग्राफ द्विभाजित है या नहीं पायथन में जांचें कि दिया गया ग्राफ द्विभाजित है या नहीं

    मान लीजिए हमारे पास एक अविकल्पित ग्राफ है, हमें जांचना है कि ग्राफ द्विभाजित है या नहीं। जैसा कि हम जानते हैं, एक ग्राफ द्विभाजित होता है जब हम ग्राफ के नोड्स को दो सेट A और B में विभाजित कर सकते हैं ताकि ग्राफ में प्रत्येक किनारा {u,v} का एक नोड u A में और दूसरा नोड v B में हो। उदाहरण के लिए, यदि