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 ...
随机推荐
- 关于TCP的握手与挥手
关于TCP的握手与挥手 前言 由于自己每次都是唱的比懂的好听,光知道唱"三次握手四次挥手",再往里细问SYN标志就只能阿巴阿巴阿巴,为了解决自己的知识储备问题,顺便继续深入了解TC ...
- php和thinkphp实现页面调转
1.原生PHP https://www.cnblogs.com/jade640/p/7118565.html 2.thinkPHP跳转方法及重定向 https://blog.csdn.net/Wake ...
- <HarmonyOS第一课08>保存应用数据
视频链接: https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101717498132814493 ?ha_so ...
- Spring基于xml的CRUD
目录 基于xml的CRUD 代码实现 测试 基于xml的CRUD 源码 使用C3P0连接池 使用dbutils包中的QueryRunner类来对数据库进行操作 代码实现 pom.xml <?xm ...
- Navicat Premiun已经停止工作
与网易有道词典冲突.退出词典即可.
- Windows配置VS Code详细流程
本文介绍Visual Studio Code(VS Code)软件在Windows操作系统电脑中的下载.安装.运行方法. Visual Studio Code(简称VS Code)是一款由微软 ...
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Live View Kit (3)
1.问题描述: 通过Push Kit创建实况窗之后,再更新实况窗失败,平台查询提示"实况窗端更新失败,通知未创建或已经过期". 解决方案: 通过Push Kit更新实况窗内容的过程 ...
- 【Spring Boot】ActiveMQ 连接池
spring.activemq.pool.enabled=false时,每发送一条数据都需要创建一个连接,这样会出现频繁创建和销毁连接的场景.为了不踩这个坑,我们参考池化技术的思想,配 ...
- 面试题-简单介绍 Spring MVC 执行流程或者Spring MVC的工作原理
摘要 简单介绍一下当用户在客户端发起请求后,Spring MVC 的执行流程,提升自己对Spring框架的认知层次.一言以蔽之,解答[Spring MVC的工作原理是什么],这是一个热点面试题. ...
- Ubuntu 通过 docker 部署禅道
# 拉取镜像 docker pull easysoft/zentao:latest # 运行容器(简单配置) docker run --name zentao -p 8080:80 -e MYSQL_ ...