zoukankan      html  css  js  c++  java
  • 921. Minimum Add to Make Parentheses Valid

    Given a string S of '(' and ')' parentheses, we add the minimum number of parentheses ( '(' or ')', and in any positions ) so that the resulting parentheses string is valid.

    Formally, a parentheses string is valid if and only if:

    • It is the empty string, or
    • It can be written as AB (A concatenated with B), where A and B are valid strings, or
    • It can be written as (A), where A is a valid string.

    Given a parentheses string, return the minimum number of parentheses we must add to make the resulting string valid.

    Example 1:

    Input: "())"
    Output: 1
    

    Example 2:

    Input: "((("
    Output: 3
    

    Example 3:

    Input: "()"
    Output: 0
    

    Example 4:

    Input: "()))(("
    Output: 4

    class Solution {
        public int minAddToMakeValid(String S) {
            int res = S.length();
            int left = 0, right = 0;
    
            for(char c : S.toCharArray()) {
                if(c == '(') {
                    left++;
                }
                else {
                    if(left > 0) {
                        left--;
                        res-=2;
                    }
                }
            }
            return res;
        }
    }

    右括号要匹配一定要有左括号在

  • 相关阅读:
    [转]使用RDLC报表
    WPF 导出Excel 导出图片
    细说WPF自定义路由事件
    [转]WPF更换主题
    推荐5款超实用的.NET性能分析工具
    Hibernate框架
    C#的protected internal
    C#的类修饰符和成员修饰符
    C#的foreach
    C#接口
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/13538974.html
Copyright © 2011-2022 走看看