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

पायथन में कोष्ठकों को मान्य बनाने के लिए न्यूनतम जोड़ें

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

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

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

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

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

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

उदाहरण

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. पायथन स्ट्रिंग में अग्रणी शून्य जोड़ें

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

  1. कैसे जांचें कि पाइथन में एक स्ट्रिंग वैध कीवर्ड है या नहीं?

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