art-template模板引擎的使用方法
阿新 • • 發佈:2022-03-03
難度中等
給定一個由'('
和')'
括號組成的字串S
,我們需要新增最少的括號('('
或是')'
,可以在任何位置),以使得到的括號字串有效。
從形式上講,只有滿足下面幾點之一,括號字串才是有效的:
- 它是一個空字串,或者
- 它可以被寫成
AB
(A
與B
連線), 其中A
和B
都是有效字串,或者 - 它可以被寫作
(A)
,其中A
是有效字串。
給定一個括號字串,返回為使結果字串有效而必須新增的最少括號數。
示例 1:
輸入:"())" 輸出:1
示例 2:
輸入:"(((" 輸出:3
示例 3:
輸入:"()" 輸出:0
示例 4:
輸入:"()))((" 輸出:4
提示:
S.length <= 1000
S
只包含'('
和')'
字元。
class Solution { public: int minAddToMakeValid(string s) { int l_cnt =0; int r_cnt = 0; int res = 0; for(int i = 0; i < s.size();i++) { if (s[i] == '(') l_cnt++; else r_cnt++; if (r_cnt>l_cnt) { res++; l_cnt++; } } r_cnt = l_cnt = 0; for(int i = s.size()-1; i >= 0;i--) { if (s[i] == '(') l_cnt++; else r_cnt++; if (l_cnt>r_cnt) { res++; r_cnt++; } }return res; } };