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

पायथन में विभिन्न कोष्ठक संतुलित और सुव्यवस्थित हैं या नहीं, यह जांचने के लिए कार्यक्रम

मान लीजिए कि हमारे पास ब्रैकेट (गोल, घुंघराले और वर्ग) की एक स्ट्रिंग है, हमें यह जांचना होगा कि ब्रैकेट संतुलित (अच्छी तरह से गठित) हैं या नहीं।

इसलिए, यदि इनपुट s ="([() ()] {[]}) ()" जैसा है, तो आउटपुट सही होगा

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

  • स्टैक:=एक नई सूची
  • d :=की-वैल्यू पेयर ('}', '{'),(')','('), (']', '[')
  • के साथ हैश मैप
  • प्रत्येक वर्ण c in s के लिए, करें
    • यदि c '}] में से कोई एक है)', तो
      • यदि स्टैक खाली है या स्टैक का शीर्ष d[c] के समान नहीं है, तो
        • झूठी वापसी
      • स्टैक से पॉप
    • अन्यथा,
      • c को स्टैक में पुश करें
  • स्टैक खाली होने पर सही लौटें, अन्यथा गलत

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

उदाहरण

class Solution:
   def solve(self, s):
      stack = []
      d = {'}': '{',')': '(',']': '['}
      for c in s:
         if c in '}])':
            if not stack or stack[-1] != d[c]:
               return False
            stack.pop()
         else:
            stack.append(c)
      return not stack
ob = Solution()
print(ob.solve("([()()]{[]})()"))

इनपुट

"([()()]{[]})()"

आउटपुट

True

  1. यह जांचने के लिए प्रोग्राम कि ब्लॉक की दी गई सूची x =y लाइन पर सममित है या नहीं, पायथन में

    मान लीजिए हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है। और यह वर्गाकार ब्लॉकों की ऊंचाई का प्रतिनिधित्व कर रहा है, हमें यह जांचना होगा कि आकृति y =x रेखा पर सममित है या नहीं। इसलिए, यदि इनपुट nums =[7, 5, 3, 2, 2, 1, 1] जैसा है, तो आउटपुट सही होगा इसे हल करने के लिए, हम इन चरणों का पालन

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

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

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

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