minimum_add_to_make_parentheses_valid
1# @leet start 2class Solution: 3 def minAddToMakeValid(self, s: str) -> int: 4 """ 5 To find the minimum amount of operations to make a set of parens valid, 6 we need to count the number of valid parens as we would normally, but 7 also handle when there are unbalanced closing parens. 8 We then add up the length of the stack (unbalanced opening parens) and 9 the length of the unbalanced closing parens. 10 """ 11 stack = [] 12 unbalanced = 0 13 14 for c in s: 15 if c == "(": 16 stack.append(c) 17 else: 18 if stack: 19 stack.pop() 20 else: 21 unbalanced += 1 22 return len(stack) + unbalanced 23 24 25# @leet end 26 27 28def test(): 29 assert 2 + 2 == 4
class
Solution:
3class Solution: 4 def minAddToMakeValid(self, s: str) -> int: 5 """ 6 To find the minimum amount of operations to make a set of parens valid, 7 we need to count the number of valid parens as we would normally, but 8 also handle when there are unbalanced closing parens. 9 We then add up the length of the stack (unbalanced opening parens) and 10 the length of the unbalanced closing parens. 11 """ 12 stack = [] 13 unbalanced = 0 14 15 for c in s: 16 if c == "(": 17 stack.append(c) 18 else: 19 if stack: 20 stack.pop() 21 else: 22 unbalanced += 1 23 return len(stack) + unbalanced
def
minAddToMakeValid(self, s: str) -> int:
4 def minAddToMakeValid(self, s: str) -> int: 5 """ 6 To find the minimum amount of operations to make a set of parens valid, 7 we need to count the number of valid parens as we would normally, but 8 also handle when there are unbalanced closing parens. 9 We then add up the length of the stack (unbalanced opening parens) and 10 the length of the unbalanced closing parens. 11 """ 12 stack = [] 13 unbalanced = 0 14 15 for c in s: 16 if c == "(": 17 stack.append(c) 18 else: 19 if stack: 20 stack.pop() 21 else: 22 unbalanced += 1 23 return len(stack) + unbalanced
To find the minimum amount of operations to make a set of parens valid, we need to count the number of valid parens as we would normally, but also handle when there are unbalanced closing parens. We then add up the length of the stack (unbalanced opening parens) and the length of the unbalanced closing parens.
def
test():