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

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

मान लीजिए कि हमारे पास केवल इन वर्णों '(' और ')' के साथ दो ब्रैकेट अनुक्रम s और t हैं। हमें यह जांचना है कि s और t की संयोजित स्ट्रिंग संतुलित है या नहीं। संयोजन s द्वारा किया जा सकता है | टी या टी | स.

इसलिए, यदि इनपुट s ="() ()))", t ="() (() (" जैसा है, तो आउटपुट सही होगा क्योंकि यदि हम t | s को जोड़ते हैं, तो हमें "() मिलेगा (()(()()))", जो संतुलित है।

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

  • एक फ़ंक्शन को परिभाषित करें is_balanced_parenthesis() । यह स्ट्रिंग लेगा
  • स्टैक:=एक नई सूची
  • i के लिए 0 से लेकर स्ट्रिंग के आकार तक के लिए, करें
    • यदि स्ट्रिंग [i] '(' के समान है, तो
      • पुश स्ट्रिंग[i] स्टैक में
    • अन्यथा,
      • अगर स्टैक खाली है, तो
        • झूठी वापसी
      • अन्यथा,
        • स्टैक से पॉप
  • अगर स्टैक खाली नहीं है, तो
    • झूठी वापसी
  • सही लौटें
  • मुख्य विधि से निम्न कार्य करें -
  • यदि is_संतुलित_कोष्ठक(s + t) सत्य है, तो
    • सही लौटें
  • रिटर्न is_balanced_parenthesis(t + s)

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

उदाहरण

def is_balanced_parenthesis(string):
   stack = []
   for i in range(len(string)):
      if string[i] == '(':
         stack.append(string[i])
      else:
         if len(stack) == 0:
            return False
         else:
            stack.pop()
   if len(stack) > 0:
      return False
   return True
def solve(s, t):
   if is_balanced_parenthesis(s + t):
      return True
   return is_balanced_parenthesis(t + s)
s = "()()))"
t = "()(()("
print(solve(s, t))

इनपुट

"()()))", "()(()("

आउटपुट

True

  1. पायथन में दो स्ट्रिंग्स में सामान्य शब्द

    मान लीजिए कि हमारे पास दो तार s0 और s1 हैं, वे एक वाक्य का प्रतिनिधित्व कर रहे हैं, हमें इन दो वाक्यों के बीच साझा किए गए अद्वितीय शब्दों की संख्या ज्ञात करनी है। हमें यह ध्यान रखना होगा कि शब्द केस-असंवेदनशील हैं इसलिए टॉम और टीओएम एक ही शब्द हैं। इसलिए, यदि इनपुट s0 =आई लव पायथन कोडिंग, s1 =पायथन

  1. जांचें कि कोई संख्या एक अकिलीज़ संख्या है या नहीं, पायथन में

    मान लीजिए हमारे पास एक संख्या n है; हमें जांचना है कि n एक अकिलीज़ संख्या है या नहीं। जैसा कि हम जानते हैं कि एक संख्या एच्लीस संख्या होती है जब एक संख्या शक्तिशाली होती है (एक संख्या एन को शक्तिशाली संख्या कहा जाता है जब इसके प्रत्येक प्रमुख कारक पी के लिए, पी ^ 2 भी इसे विभाजित करता है) लेकिन एक प

  1. जांचें कि सूची को पायथन में क्रमबद्ध किया गया है या नहीं

    सूचियाँ अजगर में सबसे व्यापक रूप से उपयोग किए जाने वाले डेटा संग्रह हैं। हमें ऐसी स्थिति का सामना करना पड़ सकता है जब हमें यह जानने की आवश्यकता हो कि दी गई सूची पहले से ही क्रमबद्ध है या नहीं। इस लेख में हम इसे प्राप्त करने के तरीकों को देखेंगे। सॉर्ट के साथ हम दी गई सूची की एक प्रति लेते हैं, उस प