मान लीजिए कि हमारे पास एक स्ट्रिंग है जिसमें कोष्ठक "(" और ")" शामिल है। हमें यह जांचना है कि कोष्ठक संतुलित हैं या नहीं।
इसलिए, यदि इनपुट 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