给你一个「有效括号字符串」 seq,请你将其分成两个不相交的有效括号字符串,A 和 B,并使这两个字符串的深度最小。

不相交:每个 seq[i] 只能分给 A 和 B 二者中的一个,不能既属于 A 也属于 B 。
A 或 B 中的元素在原字符串中可以不连续。
A.length + B.length = seq.length
深度最小:max(depth(A), depth(B)) 的可能取值最小。
划分方案用一个长度为 seq.length 的答案数组 answer 表示,编码规则如下:

answer[i] = 0,seq[i] 分给 A 。
answer[i] = 1,seq[i] 分给 B 。
如果存在多个满足要求的答案,只需返回其中任意 一个 即可。

示例 1:

输入:seq = “(()())”
输出:[0,1,1,1,1,0]

代码

class Solution {public int[] maxDepthAfterSplit(String seq) {Stack<Integer> stack=new Stack<>();int n=seq.length(),d=0;int[] res=new int[n];Arrays.fill(res,-1);for(int i=0;i<n;i++)if(seq.charAt(i)=='('){stack.push(i);}else{int t=(stack.size()+1)%2;//按当前栈高度的奇偶判断分给ABres[i]=t;res[stack.pop()]=t;AB}return res;}
}

leetcode1111. 有效括号的嵌套深度(栈)相关推荐

  1. Leetcode--1111. 有效括号的嵌套深度(Java)

    有效括号字符串 仅由 "(" 和 ")" 构成,并符合下述几个条件之一: 空字符串 连接,可以记作 AB(A 与 B 连接),其中 A 和 B 都是有效括号字符 ...

  2. python【力扣LeetCode算法题库】1111- 有效括号的嵌套深度

    有效括号的嵌套深度 有效括号字符串 仅由 "(" 和 ")" 构成,并符合下述几个条件之一: 空字符串 连接,可以记作 AB(A 与 B 连接),其中 A 和 ...

  3. LeetCode 1111. 有效括号的嵌套深度

    1111. 有效括号的嵌套深度 思路:我们只需要把奇数层的 ( 分配给 A,偶数层的 ( 分配给 B 即可 //'(' 时奇数为1,偶数为0 class Solution { public:vecto ...

  4. LeetCode 1111. 有效括号的嵌套深度(奇偶分离)

    1. 题目 有效括号字符串 仅由 "(" 和 ")" 构成,并符合下述几个条件之一: 空字符串 连接,可以记作 AB(A 与 B 连接),其中 A 和 B 都是 ...

  5. 【LeetCode】4月1日打卡-Day17-括号匹配/嵌套深度

    题1 有效括号的嵌套深度 题解 要求划分出使得最大嵌套深度最小的分组,我们首先得知道如何计算嵌套深度.我们可以通过栈实现括号匹配来计算: 维护一个栈 s,从左至右遍历括号字符串中的每一个字符: 如果当 ...

  6. LeetCode 1614. 括号的最大嵌套深度

    文章目录 1. 题目 2. 解题 1. 题目 如果字符串满足一下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS): 字符串是一个空字符串 ...

  7. 1614. 括号的最大嵌套深度

    链接:1614. 括号的最大嵌套深度 题解: class Solution { public:int maxDepth(string s) {int result = 0;stack<char& ...

  8. codejam题目_嵌套深度-Google CodeJam 2020资格回合问题解决方案

    codejam题目 Problem statement: 问题陈述: Given a string of digits S, insert a minimum number of opening an ...

  9. java实现所有括号组合的遍历_括号正确嵌套问题的实现(Java)

    最近比较忙,前几天实现的一些小算法没时间写到博客上面,今天有时间了,把它整理出来,跟大家分享. 废话少说,进入正题. 题目描述:给定一字符串,其内包含"()","{}&q ...

最新文章

  1. RobotFrameWork控制流之if语句——Run Keyword If
  2. 产品策划系列:洞察需求(四)
  3. 2.3.2 操作系统之实现临界区进程互斥的软件实现方法
  4. 超云将成为数据中心演化的下一个阶段
  5. 开灯问题---------简单模拟
  6. SpringMVC介绍之约定优于配置
  7. 一份完整的 MySQL 开发规范,进大厂必看!
  8. [转载]保护 ASP.NET 应用程序的安全
  9. 力扣232-用栈实现队列(C++,附思路)
  10. 使用 matlab 进行正太拟合
  11. ajax切换明星头像!
  12. pyQT5 designer5.15.0的汉化问题,如何解决
  13. Web测试常用测试点
  14. ios-音乐播放器的简单实现
  15. HTML 前端设置浏览器页签图标设置
  16. python画散点图<plt.scatter() 和sns.scatterplot()>
  17. wpf 响应键盘按键
  18. Haroopad Markdown 编辑器代码语法高亮支持
  19. 有关保险及公积金的文章,阅读绝对获益!!
  20. RT 3570 wifi 移植手册

热门文章

  1. sigsuspend函数(mysleep函数的改进)
  2. Java高级开发面试,java泛型下界通配符
  3. 系统盘点Android开发者必须掌握的知识点,含小米、腾讯、阿里
  4. 测试学生成绩的软件,《软件测试-学生成绩管理系统》.doc
  5. wget在linux中安装出现错误解决办法
  6. Eclipse External Tool Configration Notepad++
  7. codeforces CF438D The Child and Sequence 线段树
  8. resize 按钮不会被伪元素遮盖
  9. JDBC01 利用JDBC连接数据库【不使用数据库连接池】
  10. [Android]AndroidBucket增加碎片SubLayout功能及AISubLayout的注解支持