Given a string with parentheses, return a string with balanced parentheses by removing the fewest characters possible. You cannot add anything to the string. Examples: balance("()") -> "()" balance("(((((") -> "" balance("(()()(") -> "()()" balance(")(())(") -> "(())"
public String balance(String s) { int n = s.length(); int start = n, end = 0; Stack<Integer> stack = new Stack<>(); for(int i=0; i<n; i++) { int c = s.charAt(i); if(stack.isEmpty() || c == '(') { stack.push(i); } else { int top = stack.peek(); if(s.charAt(top) == ')') { stack.push(i); } else { stack.pop(); start = Math.min(start, top); end = Math.max(end, i); } } } return start>=end ? "" : s.substring(start, end+1); }
可惜以上代码是不对的,不能解决“()(()”的情况,此时应该输出“()()”。
“(()()((()()))”时应该输出“()()((()()))”或者“(())((()()))”。
修改代码如下:
public String balance(String s) { Stack<Integer> stack = new Stack<>(); StringBuilder sb = new StringBuilder(s); for(int i=0; i<s.length(); i++) { int c = s.charAt(i); if(stack.isEmpty() || c == '(') { stack.push(i); } else { int top = stack.peek(); if(s.charAt(top) == ')') { stack.push(i); } else { stack.pop(); } } } while(!stack.isEmpty()) { sb.deleteCharAt(stack.pop()); } return sb.toString(); }
相关推荐
java java_leetcode-110-balanced-binary-tree
官方离线安装包,亲测可用
**Laravel 开发框架详解——基于 Laravel-balanced 的实践** Laravel 是一款广泛使用的开源 PHP 框架,以其优雅的语法和强大的功能深受开发者喜爱。在 Laravel 的生态系统中,`laravel-balanced` 是一个特定的扩展...
在这个场景中,我们关注的是一个用C语言实现的特定版本,它基于平衡二叉树(Balanced Binary Tree)来实现Map。平衡二叉树是一种特殊的二叉树,它的每个节点都包含一个键和一个关联的值,同时树的高度保持平衡,这...
SICK-E数据集是一种用于情感分析的语料库,旨在评估情感分类器的性能。该数据集包含来自电影评论的文本,其中每条评论都附带了相应的情感标签(正面或负面)。SICK-E数据集的特点是它只包含英文评论,并且每个评论都...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
"multi-period-balanced-p-median" 是一个与优化和决策分析相关的概念,通常在物流、设施布局或资源分配等场景中出现。这个问题涉及到在多个时间周期内,如何均衡地分配和定位“p”个设施(如仓库、服务点),以最大...
本研究提出了一种新型平衡至平衡功率分配器(Balanced-to-Balanced Power Divider, B2B PD),该设计通过在背对背微带Wilkinson PD的公共地面上蚀刻槽和开孔来实现。这种方法不仅能够保持功率分配器的基本功能,还...
In this paper, we propose a photonics-based radar with a photonic frequency-doubling transmitter and a balanced in-phase and quadrature (I/Q) de-chirp receiver. This radar transmits broadband ...
【标题】"POJ3274-Gold Balanced Lineup" 是一道来自北京大学在线判题系统POJ(Problem Online Judge)的编程竞赛题目。这道题目的主要目标是通过编写程序来解决一个与数学和算法相关的问题。 【描述】"北大POJ3274...
"angular-balanced"可能包含特定的指令,如`<balanced-credit-card>`,用于在表单中添加信用卡信息,并与Balanced.js库进行交互。 3. **服务**:在AngularJS中,服务提供了一种共享状态和功能的方式。"angular-...
这个“inmobi-perfectly-balanced”项目是一个示例应用程序,旨在展示如何完美地在Android应用中整合inMobi SDK。 **集成步骤** 1. **添加依赖**: 首先,开发者需要在项目的`build.gradle`文件中添加inMobi的SDK...
平衡文档 该项目构建了以下 Balanced 文档: 贡献 非常感谢所有贡献,甚至是简单的语法修复。 检查未或一个新问题以开始围绕功能想法或错误的讨论。...cd balanced-docs git submodule update --in
In this letter, a compact second-order balanced microstrip bandpass filter (BPF) with high selectivity and common-mode (CM) suppression performances is presented based on the magnetically coupled ...