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

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


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

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

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

  • num_open := 0
  • s में प्रत्येक वर्ण c के लिए करें:
    • यदि c == ')', तो:
      • यदि num_open < 0, तो num_open := num_open - 1
      • अन्यथा, असत्य वापस करें
    • अन्यथा, num_open := num_open + 1
  • num_open का व्युत्क्रम वापस करें

उदाहरण

class Solution:
    def solve(self, s):
        num_open = 0
        for c in s:
            if c == ')':
                if num_open < 0:
                    num_open -= 1
                else:
                    return False
            else:
                num_open += 1
        return not num_open
ob = Solution()
print(ob.solve("(()())(())"))

इनपुट

"(()())(())"

आउटपुट

False
  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 में हो। उदाहरण के लिए, यदि