मान लीजिए कि हमारे पास एक स्ट्रिंग है जिसमें कोष्ठक "(" और ")" शामिल है। हमें यह जांचना है कि कोष्ठक संतुलित हैं या नहीं।
इसलिए, यदि इनपुट s ="(() ()) (())" जैसा है, तो आउटपुट सही होगा
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- num_open :=0
- प्रत्येक वर्ण c in s के लिए, करें
- यदि c ')' के समान है, तो
- अगर num_open <0, तो
- num_open :=num_open - 1
- अन्यथा,
- झूठी वापसी
- अन्यथा,
- num_open :=num_open + 1
- अगर num_open <0, तो
- यदि c ')' के समान है, तो
- 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