leetcode 1541
简介
简单来说就是栈的使用。
思路:
当发现一个左括号的时候压入栈中,
遇到右括号的时候
检查下一个字符是否依旧是左括号,
如果不是则新增一次操作。
判断栈中是否有元素如果有元素那么弹出
如果没有元素那么新增一次操作
如果依旧是左括号
那么判断栈中是否有元素,如果有元素那么弹出
如果没有元素那么新增一次操作
同时 i++
最后判断一下栈中是否有元素,如果有的话,则要新增栈中元素个数*2的操作
参考链接
https://github.com/haoel/leetcode
https://github.com/lishaohsuai/leetCode
code
class Solution1406 {
public:
int minInsertions(string s) {
stack<char> leftBrackets;
int n = s.size();
int count = 0;
for(int i=0; i<n; i++){
if(s[i] == '('){
leftBrackets.push(s[i]);
}
int rightBracketsNum = 0;
if(s[i] == ')'){
if((i+1) < n && s[i+1] == ')'){
if(leftBrackets.size()){
leftBrackets.pop();
}else{
count++;
}
i++;
}else{
count++;
if(leftBrackets.size()){
leftBrackets.pop();
}else{
count++;
}
}
}
}
count += leftBrackets.size() * 2;
return count;
}
};
leetcode 1541的更多相关文章
- leetcode 1541. 平衡括号字符串的最少插入次数
问题描述 给你一个括号字符串 s ,它只包含字符 '(' 和 ')' .一个括号字符串被称为平衡的当它满足: 任何左括号 '(' 必须对应两个连续的右括号 '))' . 左括号 '(' 必须在对应的连 ...
- leetcode刷题目录
leetcode刷题目录 1. 两数之和 2. 两数相加 3. 无重复字符的最长子串 4. 寻找两个有序数组的中位数 5. 最长回文子串 6. Z 字形变换 7. 整数反转 8. 字符串转换整数 (a ...
- 我为什么要写LeetCode的博客?
# 增强学习成果 有一个研究成果,在学习中传授他人知识和讨论是最高效的做法,而看书则是最低效的做法(具体研究成果没找到地址).我写LeetCode博客主要目的是增强学习成果.当然,我也想出名,然而不知 ...
- LeetCode All in One 题目讲解汇总(持续更新中...)
终于将LeetCode的免费题刷完了,真是漫长的第一遍啊,估计很多题都忘的差不多了,这次开个题目汇总贴,并附上每道题目的解题连接,方便之后查阅吧~ 477 Total Hamming Distance ...
- [LeetCode] Longest Substring with At Least K Repeating Characters 至少有K个重复字符的最长子字符串
Find the length of the longest substring T of a given string (consists of lowercase letters only) su ...
- Leetcode 笔记 113 - Path Sum II
题目链接:Path Sum II | LeetCode OJ Given a binary tree and a sum, find all root-to-leaf paths where each ...
- Leetcode 笔记 112 - Path Sum
题目链接:Path Sum | LeetCode OJ Given a binary tree and a sum, determine if the tree has a root-to-leaf ...
- Leetcode 笔记 110 - Balanced Binary Tree
题目链接:Balanced Binary Tree | LeetCode OJ Given a binary tree, determine if it is height-balanced. For ...
- Leetcode 笔记 100 - Same Tree
题目链接:Same Tree | LeetCode OJ Given two binary trees, write a function to check if they are equal or ...
- Leetcode 笔记 99 - Recover Binary Search Tree
题目链接:Recover Binary Search Tree | LeetCode OJ Two elements of a binary search tree (BST) are swapped ...
随机推荐
- EFCore(五)——多个DBContext的Code First指定对应的DBContext更新
此环境为ASP.NET Core的项目 1.在需要更新的DBContext里添加空的构造函数 2.打开Nuget命令行选择对应的目录位置 3.带参数-Context指定对应的DBContext 1. ...
- 四大国产AI编程助手横向浅评
随着过去两个月里腾讯和字节先后官宣旗下的AI智能开发工具上线,加上去年10月份百度.阿里前后脚发布AI编程助手正式版,目前国内四大头部互联网公司--百度.阿里.腾讯.字节--旗下的AI编程助手们已悉数 ...
- 信息资源管理综合题之“S公司规划网络系统-内部用户需要使用的信息安全技术及其相应用途”
一.案例:S公司是某网络设备制造商在国内的一级代理商,总部设在上海,在外高桥有一处大型的仓库,其二级经销商客户分布在全国几十座大中城市,并在北京.成都.西安和沈阳等地设立了办事处.总部实施了ERP系统 ...
- 编译报错出现原因以及处理方法之Error:(1, 1) java: 非法字符: ‘\ufeff‘
问题 记录遇到的异常和总结处理的过程,希望能给到自己和别人帮助. Error:(1, 1) java: 非法字符: '\ufeff' 编译过程中出现报错Error:(1, 1) java: 非法字符: ...
- vue3 基础-自定义指令 directive
上篇内容是关于 mixin 混入的一些操作, 也是关于代码复用层面的, 本篇讲自定义指令 directive 也是为了实现复用而设计的一些小功能啦. 先来看看, 如果不用 directive 的场景下 ...
- Python中strftime()与strptime()的行为与datetime的时间格式码
前言 datetime在python中的作用不可小视,它可以与string进行相互转化,比如 import datetime # 将输出当前时间的'日/月/年' datetime.datetime.n ...
- 经典webshell流量特征
开门见山,不说废话 判断条件 是否符合通信的特征 请求加密的数据和响应包加密的类型一致 是否一直向同一个url路径发送大量符合特征的请求,并且具有同样加密的响应包 一 .蚁剑 特征为带有以下的特殊字段 ...
- 从零开发Vim-like编辑器(01)起步
前言 Vim和Neovim因其独特的模态编辑和高度可定制化,被列为程序员常用的文本编辑器选项之一,与Sublime Text.VS Code.Emacs等编辑器共同丰富了开发者工具生态.就目前而言,网 ...
- 第1讲、#PyTorch教学环境搭建与Tensor基础操作详解
引言 PyTorch是当前深度学习领域最流行的框架之一,因其动态计算图和直观的API而备受开发者青睐.本文将从零开始介绍PyTorch的环境搭建与基础操作,适合各种平台的用户和深度学习初学者. 1. ...
- Java catch多重异常捕获
摘要:Java中多重异常捕获机制可以更加简洁.有效地处理多个异常,提高了程序的鲁棒性,是编写高质量代码的重要技巧之一. 小编在<浅谈Java异常处理机制>中梳理了异常处理机制,在< ...