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

दिए गए पुश पॉप अनुक्रमों की जांच करने का कार्यक्रम पायथन में उचित है या नहीं

मान लीजिए कि हमारे पास पुश नामक संख्याओं की एक सूची है, और पॉप नामक संख्याओं की एक और सूची है, तो हमें यह जांचना होगा कि यह स्टैक पुश और पॉप क्रियाओं का एक मान्य अनुक्रम है या नहीं।

इसलिए, यदि इनपुट पुश की तरह है =[1, 2, 5, 7, 9] पॉप =[2, 1, 9, 7, 5], तो आउटपुट ट्रू होगा, क्योंकि हम [1, 2] को पुश कर सकते हैं। पहले उन दोनों को पॉप करें। फिर [5, 7, 9] को पुश करें और उन सभी को पॉप करें।

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

  • s :=एक नया स्टैक
  • मैं :=0
  • धक्का में प्रत्येक हाथी के लिए, करें
    • एली को एस में पुश करें
    • जबकि s> 0 का आकार और पॉप [i] s का एक ही शीर्ष तत्व है, do
      • एस से शीर्ष तत्व हटाएं
      • i :=i + 1
  • सच तभी लौटें जब s का आकार 0 के समान हो, अन्यथा गलत हो

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

उदाहरण

class Solution:
   def solve(self, pushes, pops):
      s = []
      i = 0

      for ele in pushes:
         s.append(ele)

         while len(s) > 0 and pops[i] == s[-1]:
            s.pop()
            i += 1

      return len(s) == 0

ob = Solution()
pushes = [1, 2, 5, 7, 9]
pops = [2, 1, 9, 7, 5]
print(ob.solve(pushes, pops))

इनपुट

[1, 2, 5, 7, 9], [2, 1, 9, 7, 5]

आउटपुट

True

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

    मान लीजिए हमारे पास एक बाइनरी ट्री है। हमें यह जांचना है कि वृक्ष सममित वृक्ष है या नहीं। एक पेड़ को सममित कहा जाएगा यदि वह समान है जब हम उसका दर्पण प्रतिबिम्ब लेते हैं। इन दो पेड़ों से, पहला सममित है, लेकिन दूसरा नहीं है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे। हम निम्नलिखित चरणों क

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

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

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

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक नंबर दिया गया है, हमें यह जांचना होगा कि संख्या दो की शक्ति है या नहीं। कीवर्ड विशिष्ट उपयोग के साथ किसी भी भाषा द्वारा आरक्षित विशेष शब्द हैं और पहचानकर्ता के रूप में उपयोग नहीं किए जा सकते हैं। यह जांचने