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