[LeedCode]921. 使括号有效的最少添加
题目描述:
给定一个由 '(' 和 ')' 括号组成的字符串 S,我们需要添加最少的括号( '(' 或是 ')',可以在任何位置),以使得到的括号字符串有效。从形式上讲,只有满足下面几点之一,括号字符串才是有效的:它是一个空字符串,或者 它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者 它可以被写作 (A),其中 A 是有效字符串。 给定一个括号字符串,返回为使结果字符串有效而必须添加的最少括号数。示例 1:输入:"())" 输出:1 示例 2:输入:"(((" 输出:3 示例 3:输入:"()" 输出:0 示例 4:输入:"()))((" 输出:4
解法:
1 int minAddToMakeValid(char* S) { 2 int i,l = 0,res = 0,len=strlen(S); 3 for (i = 0 ; i < len ; i ++) 4 { 5 if (S[i]=='(') //入栈 6 { 7 l ++; 8 } 9 else //出栈 10 { 11 if (l == 0) 12 { 13 res ++; //栈为空,丢弃数+1 14 } 15 else 16 l --; //栈不为空,出栈 17 } 18 } 19 return res+l; //栈中数量+丢弃栈 20 }
转载于:https://www.cnblogs.com/mind000761/p/10137941.html
[LeedCode]921. 使括号有效的最少添加相关推荐
- LeetCode 921. 使括号有效的最少添加(栈)
1. 题目 给定一个由 '(' 和 ')' 括号组成的字符串 S,我们需要添加最少的括号( '(' 或是 ')',可以在任何位置),以使得到的括号字符串有效. 从形式上讲,只有满足下面几点之一,括号字 ...
- 使括号有效的最少添加
使括号有效的最少添加 给定一个由(和)括号组成的字符串S,我们需要添加最少的括号(或是),可以在任何位置,以使得到的括号字符串有效. 从形式上讲,只有满足下面几点之一,括号字符串才是有效的: 它是一个 ...
- [Swift]LeetCode921.使括号有效的最少添加 | Minimum Add to Make Parentheses Valid
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- 2022-3-25 Leetcode 921.使括号有效
第一版,我还是 too young,too naive class Solution {public:int minAddToMakeValid(string s) {int deep = 0;for ...
- LeetCode 1674. 使数组互补的最少操作次数(差分思想)
文章目录 1. 题目 2. 解题 1. 题目 给你一个长度为 偶数 n 的整数数组 nums 和一个整数 limit . 每一次操作,你可以将 nums 中的任何整数替换为 1 到 limit 之间的 ...
- LeetCode 1653. 使字符串平衡的最少删除次数(DP)
文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 s ,它仅包含字符 'a' 和 'b' . 你可以删除 s 中任意数目的字符,使得 s 平衡 . 我们称 s 平衡的 当不存在下标 ...
- LeetCode 1568. 使陆地分离的最少天数(DFS)
文章目录 1. 题目 2. 解题 1. 题目 给你一个由若干 0 和 1 组成的二维网格 grid ,其中 0 表示水,而 1 表示陆地. 岛屿由水平方向或竖直方向上相邻的 1 (陆地)连接形成. 如 ...
- amazon alexa_亚马逊使向自定义Alexa Skills添加声音变得更加容易
amazon alexa by Terren Peterson 由Terren Peterson 亚马逊使向自定义Alexa Skills添加声音变得更加容易 (Amazon has made it ...
- leetcode1568. 使陆地分离的最少天数(Python3、c++)
文章目录 leetcode1568. 使陆地分离的最少天数 方法:并查集 思路: 并查集: 求割点: 代码: Python3: cpp: 结果: leetcode1568. 使陆地分离的最少天数 给你 ...
最新文章
- js获取网页的各种高度
- LIST_VIEW_和LVITEM用法
- Tomcat 的运行机制
- 黑马程序员-----集合框架类(四) 高级for循环、方法的可变参数及静态导入
- Debian操作系统的源配置信息详解--Source.list配置文件详解
- C#判断对象是不是数组
- 管家婆A8 TOP V9.5.1版本安装需知!
- 泛微mysql密码_泛微OA 数据库维护笔记(e-cology)
- Ubuntu 20.04 双系统安装过程(新手)
- 内网IP使用Https小记
- Java中的锁有哪些?
- Redis缓存雪崩/穿透/击穿
- oracle锁表语句执行提示无法终止当前对话_ORACLE LOCK TABLE 无法锁定表?
- leetcode 17. 电话号码的字母组合
- C++基础编程----6.2函数
- 初学者:java练习题———含答案-------类与对象(2)
- -bash: mysql: command not found 解决办法
- 21个免费的UI界面设计工具、资源及网站
- 伪静态网站安全攻防如何理解
- arcgis多面体要素转面_【干货】ArcGIS 9.3线转面的方法
热门文章
- git 连接gitee时报错 Auth error: Access deined: authorize failure
- 【牛客 - 330C】Applese 走迷宫(bfs)
- 【POJ - 2785】4 Values whose Sum is 0 (二分,折半枚举)
- 【CodeForces - 569C】Primes or Palindromes? (思维,分析范围,暴力枚举判断)
- 【sdut 1751】 区间覆盖问题
- 函授本科统考计算机考试时间,函授2006级计算机、机电本科第一学期考试时间安排.doc...
- android adb 开机广播,Android中常用的adb指令
- java selector 源码_Java NIO核心组件-Selector和Channel
- oracle内存锁,Oracle OCP之硬解析在共享池中获取内存锁的过程
- java生成world文件_HelloWorld.java文件如何创建?