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

पायथन में अन्य दो स्ट्रिंग्स का उपयोग करके अंतिम स्ट्रिंग बनाई जा सकती है या नहीं, यह जांचने के लिए प्रोग्राम

मान लीजिए कि हमारे पास दो स्ट्रिंग्स s, t, और एक अन्य स्ट्रिंग r है, हमें यह जांचना है कि s और t के क्रम में वर्णों को मर्ज करके r प्राप्त करने का कोई तरीका है या नहीं।

इसलिए, यदि इनपुट s ="xyz" t ="mno" r ="xymnoz" जैसा है, तो आउटपुट ट्रू होगा, क्योंकि xymnoz को xyz और mno को इंटरलीव करके बनाया जा सकता है।

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

  • फ़ंक्शन को हल करें () परिभाषित करें। इसमें s, t, r लगेगा

  • अगर s, t और r खाली हैं, तो

    • सही लौटें

      • अगर r खाली है, तो

        • झूठी वापसी

  • अगर s खाली है, तो

    • सही लौटें जब t, r के समान हो, अन्यथा असत्य हो

  • यदि नहीं t गैर-शून्य है, तो

    • वापसी s r के समान है

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

    • अगर हल (एस [सूचकांक 1 से अंत तक], टी, आर [सूचकांक 1 से अंत तक]) सत्य है, तो

      • सही लौटें

  • यदि t[0], r[0] के समान है, तो

    • अगर हल (एस, टी [सूचकांक 1 से अंत तक], आर [सूचकांक 1 से अंत तक]) सत्य है, तो

      • सही लौटें

  • झूठी वापसी

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

उदाहरण

class Solution:
   def solve(self, s, t, r):
      if not s and not t and not r:
         return True
      if not r:
         return False
      if not s:
         return t == r
      if not t:
         return s == r
      if s[0] == r[0]:
         if self.solve(s[1:], t, r[1:]):
            return True
         if t[0] == r[0]:
            if self.solve(s, t[1:], r[1:]):
               return True
         return False
ob = Solution()
s = "xyz"
t = "mno"
r = "xymnoz"
print(ob.solve(s, t, r))

इनपुट

"xyz", "mno", "xymnoz"

आउटपुट

True

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

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

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

    यहां एक स्ट्रिंग दी गई है तो हमारा काम मौसम की जांच करना है कि दी गई स्ट्रिंग हेटरोग्राम है या नहीं। हेटरोग्राम चेकिंग का अर्थ यह है कि एक शब्द, वाक्यांश या वाक्य जिसमें वर्णमाला का कोई अक्षर एक से अधिक बार नहीं आता है। एक हेटरोग्राम को एक पंग्राम से अलग किया जा सकता है जो वर्णमाला के सभी अक्षरों क

  1. कैसे जांचें कि कोई स्ट्रिंग पालिंड्रोम है या पायथन का उपयोग नहीं कर रहा है?

    पायथन के मानक पुस्तकालय से reveresed() फ़ंक्शन का उपयोग करें। यह उलटी हुई वस्तु लौटाता है जिसे सूची वस्तु में परिवर्तित किया जा सकता है >>> str1='malayalam' >>> l1=list(reversed(str1)) >>> l1 ['m', 'a', 'l', 'a', 'y', 'a&