LeetCode 921. 使括号有效的最少添加(Minimum Add to Make Parentheses Valid) 48
921. 使括号有效的最少添加
921. Minimum Add to Make Parentheses Valid
题目描述
给定一个由 '(' 和 ')' 括号组成的字符串 S,我们需要添加最少的括号( '(' 或是 ')',可以在任何位置),以使得到的括号字符串有效。
从形式上讲,只有满足下面几点之一,括号字符串才是有效的:
- 它是一个空字符串,或者
- 它可以被写成 AB (A 与 B 连接),其中 A 和 B 都是有效字符串,或者
- 它可以被写作 (A),其中 A 是有效字符串。
给定一个括号字符串,返回为使结果字符串有效而必须添加的最少括号数。
每日一算法2019/6/20Day 48LeetCode921. Minimum Add to Make Parentheses Valid
示例 1:
输出:1
示例 2:
输出:3
示例 3:
输出:0
示例 4:
输出:4
提示:
- S.length <= 1000。
- S 只包含 '(' 和 ')' 字符。
Java 实现
import java.util.ArrayDeque;
import java.util.Deque;
class Solution {
public int minAddToMakeValid(String S) {
Deque<Character> deque = new ArrayDeque<>();
int count = 0;
for (char c : S.toCharArray()) {
if (c == '(') {
deque.push(c);
} else if (deque.isEmpty()) {
count++;
} else {
deque.pop();
}
}
return deque.size() + count;
}
}
参考资料
- https://leetcode-cn.com/problems/minimum-add-to-make-parentheses-valid/
- https://leetcode.com/problems/minimum-add-to-make-parentheses-valid/
LeetCode 921. 使括号有效的最少添加(Minimum Add to Make Parentheses Valid) 48的更多相关文章
- [Swift]LeetCode921.使括号有效的最少添加 | Minimum Add to Make Parentheses Valid
Given a string S of '(' and ')' parentheses, we add the minimum number of parentheses ( '(' or ')', ...
- leetcode 921. 使括号有效的最少添加
问题描述 给定一个由 '(' 和 ')' 括号组成的字符串 S,我们需要添加最少的括号( '(' 或是 ')',可以在任何位置),以使得到的括号字符串有效. 从形式上讲,只有满足下面几点之一,括号字符 ...
- leetcode 921. 使括号有效的最少添加(Python)
class Solution: def minAddToMakeValid(self, S): """ :type S: str :rtype: int "&q ...
- [LeedCode]921. 使括号有效的最少添加
题目描述: 给定一个由 '(' 和 ')' 括号组成的字符串 S,我们需要添加最少的括号( '(' 或是 ')',可以在任何位置),以使得到的括号字符串有效. 从形式上讲,只有满足下面几点之一,括号字 ...
- [LeetCode] 921. Minimum Add to Make Parentheses Valid 使括号有效的最少添加
Given a string S of '(' and ')' parentheses, we add the minimum number of parentheses ( '(' or ')', ...
- 【LeetCode】921. Minimum Add to Make Parentheses Valid 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址: https://leetcode. ...
- leetcode921. 使括号有效的最少添加
题目描述: 给定一个由 '(' 和 ')' 括号组成的字符串 S,我们需要添加最少的括号( '(' 或是 ')',可以在任何位置),以使得到的括号字符串有效. 从形式上讲,只有满足下面几点之一,括号字 ...
- 【leetcode】921. Minimum Add to Make Parentheses Valid
题目如下: 解题思路:上周都在忙着参加CTF,没时间做题,今天来更新一下博客吧.括号问题在leetcode中出现了很多,本题的解题思路和以前的括号问题一样,使用栈.遍历Input,如果是'('直接入栈 ...
- 921. Minimum Add to Make Parentheses Valid
Given a string S of '(' and ')' parentheses, we add the minimum number of parentheses ( '(' or ')', ...
随机推荐
- [Inside HotSpot] Serial垃圾回收器 (一) Full GC
Serial垃圾回收器Full GC Serial垃圾回收器的Full GC使用标记-压缩(Mark-Compact)进行垃圾回收,该算法基于Donald E. Knuth提出的Lisp2算法,它会把 ...
- Aizu2249-Road Construction-(Dijkstra)
https://vjudge.net/problem/Aizu-2249 题意:计划图中有n个城市m条路,首都是1号城市,要选一些路去修,让各个城市到首都的路径最短,在路径最短的情况下修路费用最小. ...
- Linux中tune2fs命令的-o选项
debug 启用此文件系统的调试代码. bsdgroups 在创建新文件时模拟BSD行为:它们将使用创建它们的目录.标准系统V的行为是默认情况下,新创建的文件采用当前进程的fsgid,除非目录设置了s ...
- 安装和启动ElasticSearch服务遇到的几个问题
首先安装和启动服务的教程是参考文章:ES入门之一 安装ElasticSearch 然后在最后的启动es服务时遇到了几个小问题,因此在这里记录一下. 因为我对linux并不是很熟悉,因此文中如果有说错的 ...
- 第01组 Alpha冲刺(2/6)
队名:007 组长博客: https://www.cnblogs.com/Linrrui/p/11861798.html 作业博客: https://edu.cnblogs.com/campus/fz ...
- eureka中显示有服务但是通过ribbon调用显示No instances available for service-hello的问题
一,问题 采取eureka集群.客户端通过Ribbon调用服务,Ribbon端报下列异常 ? 1 2 3 4 5 6 7 java.net.UnknownHostException: SERVICE- ...
- cloneable以及深拷贝和浅拷贝
Objec类有11个方法,有两个protected的方法,其中一个为clone方法(另一个为finalize). 该方法的签名是: protected native Object clone() th ...
- [技术博客]使用PanResponder实现响应左右滑动手势
在实现用户左右滑动完成不同操作时,使用react-native的官方API--PanResponder响应用户手势操作. PanResponder介绍 PanResponder中文文档 PanResp ...
- Gradle插件和Gradle对应表
Gradle插件build.gradle文件的buildscript Gradlegradle/wrapper/gradle-wrapper.properties文件 AndroidStudio版本 ...
- SpringBoot(十六):SpringBoot2.1.1集成fastjson,并使用fastjson替代默认的MappingJackson
springboot2.1.1默认采用的json converter是MappingJackson,通过调试springboot项目中代码可以确定这点.在springboot项目中定义WebMvcCo ...