码迷,mamicode.com
首页 > 其他好文 > 详细

b_lc_平衡括号字符串的最少插入次数(先加后分类讨论)

时间:2020-10-19 22:34:09      阅读:19      评论:0      收藏:0      [点我收藏+]

标签:次数   code   solution   匹配   cpp   mini   insert   添加   pre   

class Solution {
public:
    int minInsertions(string s) {
        int l=0, ans=0, n=s.size();
        for (int i=0; i<n; i++) {
            if (s[i]==‘(‘) {
                l++;
            } else { //处理到这个位置,i前面的位置一定是平衡的了
                if (i+1<n && s[i+1]==‘)‘) i++;
                else ans++; //到这里要么是:"()("或者"()"(i=1),此时都需要添加一个)(最优)
                if (l) l--; //到这里一定有两个右括号等着匹配
                else ans++; //实际上要写l++, l--,但等于没写
            }
        }
        if (l) ans+=2*l;
        return ans;
    }
};

b_lc_平衡括号字符串的最少插入次数(先加后分类讨论)

标签:次数   code   solution   匹配   cpp   mini   insert   添加   pre   

原文地址:https://www.cnblogs.com/wdt1/p/13839211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!