zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    print 参数
    note
    action标签的属性说明
    Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver'
    润乾报表
    javax.naming.NameNotFoundException: Name ZKING is not bound in this Context 的问题
    Myeclipse2013安装svn插件
    Myeclipse2013的优化设置
    Myeclipse解析.classpath文件
    Struts
  • 原文地址:https://www.cnblogs.com/zijidan/p/12535739.html
Copyright © 2011-2022 走看看