921. Minimum Add to Make Parentheses Valid
Posted zijidan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了921. Minimum Add to Make Parentheses Valid相关的知识,希望对你有一定的参考价值。
给定一个由 ‘(‘
和 ‘)‘
括号组成的字符串 S
,我们需要添加最少的括号( ‘(‘
或是 ‘)‘
,可以在任何位置),以使得到的括号字符串有效。
从形式上讲,只有满足下面几点之一,括号字符串才是有效的:
- 它是一个空字符串,或者
- 它可以被写成
AB
(A
与B
连接), 其中A
和B
都是有效字符串,或者 - 它可以被写作
(A)
,其中A
是有效字符串。
给定一个括号字符串,返回为使结果字符串有效而必须添加的最少括号数。
# left表示需要的左括号数,right表示需要的右括号数。
# 遍历字符串s,
# 如果遇到左括号,说明此时需要再加右括号,right+1
# 如果遇到右括号,且right大于0,说明当前右括号可以匹配之前的左括号,不需要再加右括号,若此时right等于0,那么说明需要一个左括号
1 class Solution(object): 2 def minAddToMakeValid(self, S): 3 """ 4 :type S: str 5 :rtype: int 6 """ 7 8 left,right=0,0 9 for ch in S: 10 if(ch==‘(‘): 11 right+=1 12 elif(ch==‘)‘): 13 if(right>0): 14 continue 15 else: 16 left+=1 17 18 return left+right
以上是关于921. Minimum Add to Make Parentheses Valid的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode-921 Minimum Add to Make Parentheses Valid Solution (with Java)
2019年3月27日 921. Minimum Add to Make Parentheses Valid
LeetCode 945. Minimum Increment to Make Array Unique
945. Minimum Increment to Make Array Unique
leetcode1647. Minimum Deletions to Make Character Frequencies Unique