新闻详情

新闻详情

首页 / 资讯中心 / 详情

leetcode 1111. 有效括号的嵌套深度 中等

发布时间:2026/10/1 19:57:03来源:尧图网络
leetcode 1111. 有效括号的嵌套深度 中等
如果一个字符串仅由字符(和)组成并且满足以下条件则称为有效括号字符串VPS它是空字符串或它可以表示为ABA连接B其中A和B都是VPS或者它可以表示为(A)其中A是一个 VPS。我们可以类似地定义任何 VPSS的嵌套深度depth(S)如下depth() 0depth(A B) max(depth(A), depth(B))其中A和B都是 VPSdepth(( A )) 1 depth(A)其中A是一个 VPS。例如()()和()(()())都是 VPS嵌套深度 01 和 2并且)(和(()不是 VPS。给定一个 VPS 序列将其拆分成两个不相交的子序列A和B使得A和B都是 VPS且A.length B.length seq.length。这些子序列不一定是连续的。例如对于序列123456789一种可能的拆分是A {1, 3, 5, 7, 9}B {2, 4, 6, 8}。这对应于输出[0, 1, 0, 1, 0, 1, 0, 1, 0]其中 0 表示属于A1 表示属于B。现在选择任意这样的A和B使得max(depth(A), depth(B))的值是最小的。返回一个answer数组长度为seq.length该数组编码了A和B的选择如果seq[i]是A的一部分则answer[i] 0否则answer[i] 1。请注意尽管可能存在多种答案但你可以返回其中任意一种。示例 1输入seq (()())输出[0,1,1,1,1,0]示例 2输入seq ()(())()输出[0,0,0,1,1,0,1,1]解释本示例答案不唯一。 按此输出 A ()(), B ()(), max(depth(A), depth(B)) 1它们的深度最小。 像 [1,1,1,0,0,1,1,1]也是正确结果其中 A ()()(), B (), max(depth(A), depth(B)) 1 。提示1 seq.size 10000有效括号字符串仅由 ( 和 ) 构成的字符串对于每个左括号都能找到与之对应的右括号反之亦然。 下述几种情况同样属于有效括号字符串 1. 空字符串 2. 连接可以记作 ABA 与 B 连接其中 A 和 B 都是有效括号字符串 3. 嵌套可以记作 (A)其中 A 是有效括号字符串嵌套深度类似地我们可以定义任意有效括号字符串 s 的嵌套深度depth(S) 1. s 为空时depth() 02. s为A 与B连接时depth(A B) max(depth(A), depth(B))其中A和B都是有效括号字符串3. s 为嵌套情况depth(( A )) 1 depth(A)其中A是有效括号字符串。例如()()和 ()(()()) 都是有效括号字符串嵌套深度分别为 012而 )( 和(()都不是有效括号字符串。分析保证栈内一半的括号属于序列 A一半的括号属于序列 B就能保证拆分后最大的嵌套深度最小是当前最大嵌套深度的一半。从左至右遍历括号字符串中的每一个字符如果当前字符是 (就把 ( 压入栈中此时这个 ( 的嵌套深度为栈的高度如果当前字符是 )此时这个 ) 的嵌套深度为栈的高度随后再从栈中弹出一个 (。而由于在这个问题中栈中只会存放(因此不需要维护一个真正的栈只需要用一个变量模拟记录栈的大小代表当前深度即可。class Solution { public: vectorint maxDepthAfterSplit(string seq) { int nseq.length(),cnt1; vectorintans(n),dep(n); for(int i0;in;i) { if(seq[i]()dep[i]cnt; else dep[i]--cnt; } for(int i0;in;i) { if(dep[i]1)ans[i]1; else ans[i]0; } return ans; } };
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

华为USG防火墙会话表详解:按IP查连接表与排障实战 2026/10/1 20:38:30

华为USG防火墙会话表详解:按IP查连接表与排障实战

上周远程帮朋友处理了一台USG6000的故障,内网一台终端对外连接时断时续,日志里看不出所以然。我登上去第一件事就是按IP查会话表,结果发现某个IP的SYN包几乎清一色停在半开状态,问题方向一下就清楚了。这种操作在华为USG防火墙排障…

阅读更多 →
CAD图纸被带出去之前,得先过哪几道关 2026/10/1 20:38:24

CAD图纸被带出去之前,得先过哪几道关

图纸和一般文件不一样,画的时候是技术,传出去就可能变成别人的。 CAD 图纸体积大、带外部参照、版本钉死,发出去就难收回。 CAD 图纸加密软件管的,是让图从画出来到发出去、被带走、被拍走的每一段,都有闸、有痕。一、…

阅读更多 →
EMC整改不是修修补补:从骚扰源定位到路径阻断的实战闭环 2026/10/1 20:38:24

EMC整改不是修修补补:从骚扰源定位到路径阻断的实战闭环

1. 项目概述:为什么“电磁兼容整改”不是修修补补,而是系统性工程“电磁兼容整改点滴”这个标题乍看平实,甚至有点老派——没有炫技的术语,不带流量密码,连个感叹号都省了。但如果你在电子产品研发、工业控制、医疗设备…

阅读更多 →
用Cursor SDK搭建提示词自动化优化流水线:TaoToken统一Key接入实战 2026/10/1 20:38:23

用Cursor SDK搭建提示词自动化优化流水线:TaoToken统一Key接入实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
基于Arduino的计算器:LCD与矩阵键盘的完整实现指南 2026/10/1 20:38:23

基于Arduino的计算器:LCD与矩阵键盘的完整实现指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
OpenCV+ONNX模型实现英文数字检测识别源码解析 2026/10/1 20:38:23

OpenCV+ONNX模型实现英文数字检测识别源码解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉