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

Posted wdt1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了b_lc_平衡括号字符串的最少插入次数(先加后分类讨论)相关的知识,希望对你有一定的参考价值。

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_平衡括号字符串的最少插入次数(先加后分类讨论)的主要内容,如果未能解决你的问题,请参考以下文章

b_lc_构成交替字符串需要的最小交换次数(思维+分类讨论两种方案)

栈3:括号匹配问题的7道题

LeetCode 1653. 使字符串平衡的最少删除次数

LeetCode 1653. 使字符串平衡的最少删除次数

2022-12-04:给定一个由 ‘[‘ ,‘]‘,‘(‘,‘)’ 组成的字符串, 请问最少插入多少个括号就能使这个字符串的所有括号左右配对, 例如当前串是 “([[])“,那么插入一个‘]‘即可满足

css3 的过渡效果transition最少需要设置哪两个属性