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

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

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

इसलिए, यदि इनपुट s ="हम शहर कोलकाता में रहते हैं" t ="शहर कोलकाता" जैसा है, तो आउटपुट सही होगा क्योंकि हम "हम रहते हैं" वाक्य जोड़कर t से s प्राप्त कर सकते हैं।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • s1 :=शब्दों की एक सूची s

  • s2 :=t में शब्दों की एक सूची

  • यदि s1 का आकार> s2 का आकार, तो

    • स्वैप s1 और s2

  • जबकि s1 खाली नहीं है, करें

    • अगर s2[0], s1[0] के समान है, तो

      • s2 से पहला शब्द हटाएं

      • s1 से पहला शब्द हटाएं

    • अन्यथा जब s2 का अंतिम शब्द s1 के अंतिम शब्द के समान हो, तो

      • s2 से अंतिम शब्द हटाएं

      • s1 से अंतिम शब्द हटाएं

    • अन्यथा,

      • झूठी वापसी

  • सही लौटें

उदाहरण

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

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. पायथन में पत्तियों का क्रम दो पत्तियों के समान है या नहीं, यह जांचने के लिए कार्यक्रम

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

  1. पायथन में नोड्स की अदला-बदली से दो पेड़ बन सकते हैं या नहीं, इसकी जाँच करने के लिए कार्यक्रम

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

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

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