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

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


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

उदाहरण के लिए, यदि इनपुट s = "([()()]{[]})()" है, तो आउटपुट True होगा।

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

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

उदाहरण

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 रेखा पर सममित है या नहीं जांचने का पायथन प्रोग्राम दिए गए ब्लॉक्स की सूची x = y रेखा पर सममित है या नहीं जांचने का पायथन प्रोग्राम

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

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

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

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

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