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

पायथन में पैरेंथेसिस को वैध बनाने के लिए न्यूनतम जोड़

मान लीजिए हमारे पास '(' और ')' पैरेंथेसिस की एक स्ट्रिंग S है, हम किसी भी स्थिति पर न्यूनतम संख्या में पैरेंथेसिस जोड़ते हैं, ताकि परिणामी पैरेंथेसिस स्ट्रिंग वैध हो। एक पैरेंथेसिस स्ट्रिंग तभी वैध होती है जब -

  • यह खाली स्ट्रिंग है
  • इसे XY के रूप में लिखा जा सकता है (X को Y के साथ जोड़ा गया), जहां X और Y वैध स्ट्रिंग्स हैं
  • इसे (A) के रूप में लिखा जा सकता है, जहां A एक वैध स्ट्रिंग है।

इसलिए यदि स्ट्रिंग "()))((" जैसी है, तो स्ट्रिंग को वैध बनाने के लिए 4 और पैरेंथेसिस जोड़ने की आवश्यकता है।

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

  • यदि S खाली है, तो 0 लौटाएं
  • count := 0, temp एक सरणी है, temp_counter := 0
  • S में i के लिए
    • यदि i ओपनिंग पैरेंथेसिस है, तो i को temp में डालें
    • अन्यथा
      • जब temp की लंबाई > 0 और temp का अंतिम तत्व ओपनिंग पैरेंथेसिस है, तो temp के अंतिम तत्व को हटाएं, अन्यथा i को temp में डालें
  • temp का आकार लौटाएं।

उदाहरण

class Solution:
    def minAddToMakeValid(self, S):
        if not S:
            return 0
        count = 0
        temp = []
        temp_counter = 0
        for i in S:
            if i == '(':
                temp.append(i)
            else:
                if len(temp) > 0 and temp[len(temp)-1] == '(':
                    temp.pop(len(temp)-1)
                else:
                    temp.append(i)
        return len(temp)

ob = Solution()
print(ob.minAddToMakeValid("()))(("))

इनपुट

"()))(("

आउटपुट

4
  1. - पायथन में ऐरे-फॉर्म इंटीजर में जोड़

    मान लीजिए हमारे पास ऐरे रूप में एक संख्या है। इसलिए यदि संख्या 534 है, तो यह [5, 3, 4] की तरह स्टोर होती है। हमें ऐरे रूप की संख्या में एक और मान k जोड़ना है। इसलिए अंतिम संख्या अंकों का एक और ऐरे होगी। समाधान के चरण प्रत्येक संख्या लें और उन्हें स्ट्रिंग बनाएं, फिर स्ट्रिंग को कंकेटनेट करें स्ट्र

  1. - पायथन स्ट्रिंग में अग्रणी शून्य जोड़ें

    हमें कभी-कभी पायथन में विभिन्न डेटा तत्वों में स्ट्रिंग के रूप में शून्य जोड़ने की आवश्यकता हो सकती है। इसका कारण स्वरूपण और अच्छा प्रतिनिधित्व हो सकता है या कुछ गणनाओं के लिए कारण हो सकता है जहां ये मान इनपुट के रूप में कार्य करेंगे। नीचे इस उद्देश्य के लिए हम जिन विधियों का उपयोग करेंगे वे हैं। f

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

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