1111 有效括号的嵌套深度

1111 有效括号的嵌套深度 题目描述: 有效括号字符串 定义:对于每个左括号,都能找到与之对应的右括号,反之亦然。详情参见题末「有效括号字符串」部分。 嵌套深度 depth 定义:即有效括号字符串嵌套的层数,depth(A) 表示有效括号字符串 A 的嵌套深度。详情参见题末「嵌套深度」部分。 有效括号字符串类型与对应的嵌套深度计算方法如下图所示: 给你一个「有效括号字符串」 seq,请你将其分成两个不相交的有效括号字符串,A 和 B,并使这两个字符串的深度最小。 不相交:每个 seq[i] 只能分给 A 和 B 二者中的一个,不能既 阅读详情

用栈来计算深度,但是此题中输入已经保证了括号一定是匹配的,所以不需要真的用栈

直观解法1:每次操作使得A集合和B集合的深度相差最小

class Solution {
public:
    // 使得两组字符串的深度相差最小
    vector<int> maxDepthAfterSplit(string seq) {
        vector<int> ans;
        int A_depth = 0, B_depth = 0; // A和B的当前深度
        for(char i : seq)
        {
            if(i == '(') // 加深度
            {
                if(A_depth >= B_depth)
                    ++B_depth, ans.push_back(1);
                else 
                    ++A_depth, ans.push_back(0);
            }
            else // 减深度
            {
                if(A_depth >= B_depth) // 等号一定要对应,使其匹配
                    --A_depth, ans.push_back(0);
                else
                    --B_depth, ans.push_back(1);
            }
        }
        return ans;
    }
};

方法2:
使挨着的左括号分属与不同的集合即可,右括号同理
使用异或操作^

class Solution {
public:
    vector<int> maxDepthAfterSplit(string seq) {
        vector<int> ans;
        int pre = 1; // 标记前一个字符是不是A
        for(char i : seq)
        {
            if(i == '(') pre ^= 1, ans.push_back(pre);
            else 
                ans.push_back(pre), pre ^= 1; // 先push保证匹配
        }
        return ans;
    }
};
【C++动态规划】1111有效括号的嵌套深度|1749 有效括号字符串 定义:对于每个左括号,都能找到与之对应的右括号,反之亦然。详情参见题末「有效括号字符串」部分。 嵌套深度 depth 定义:即有效括号字符串嵌套的层数,depth(A) 表示有效括号字符串 A 的嵌套深度。详情参见题末「嵌套深度」部分。 有效括号字符串类型与对应的嵌套深度计算方法如下图所示:![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e196e0709d51460b8a19e5c9e04f7097.png#pic_center) 给你一个「有 阅读详情

相关推荐

哨兵一号数据下载

哨兵1号数据的下载过程

weixin_59617499的博客 5135

LeetCode小算法记录(四十六)有效括号的嵌套深度

有效括号字符串 定义:对于每个左括号,都能找到与之对应的右括号,反之亦然。详情参见题末「有效括号字符串」部分。 嵌套深度 depth 定义:即有效括号字符串嵌套的层数,depth(A) 表示有效括号字符串 A 的嵌套深度。详情参见题末「嵌套深度」部分。 给你一个「有效括号字符串」 seq,请你将其分成两个不相交的有效括号字符串,A 和B,并使这两个字符串的深度最小。 不相交:每个 s...

qq_31404603的博客 407

CST高阶技巧:用周期性边界快速仿真共面波导色散特性(含JDM求解器优化)

本文详细介绍了在CST仿真软件中,利用周期性边界条件结合JDM本征模求解器,高效分析共面波导色散特性的高阶技巧。该方法通过仿真一个单元胞而非整条传输线,大幅提升计算效率,并提供了从建模、边界设置、求解器优化到后处理的完整工作流程,是高频电路设计的实用指南。

weixin_29280219的博客 402

leetcode解题之有效括号的嵌套深度

有效括号字符串 定义:对于每个左括号,都能找到与之对应的右括号,反之亦然。详情参见题末「有效括号字符串」部分。 嵌套深度 depth 定义:即有效括号字符串嵌套的层数,depth(A) 表示有效括号字符串 A 的嵌套深度。详情参见题末「嵌套深度」部分。 有效括号字符串类型与对应的嵌套深度计算方法如下图所示: 给你一个「有效括号字符串」 seq,请你将其分成两个不相交的有效括号字符串,A 和 B...

l888c的专栏 365

CMake接口库实战:如何用add_library的INTERFACE选项管理跨项目依赖

本文深入探讨了CMake中add_library的INTERFACE选项在管理跨项目依赖时的实战应用。通过创建不包含源代码的接口库,开发者可以集中管理头文件路径、编译定义、链接库等公共配置,并将其声明式地传递给依赖目标。文章以构建模块化跨平台网络应用为例,详细展示了如何利用接口库实现配置的集中化、依赖关系的显式化,从而提升大型项目的可维护性和可移植性。

water的专栏 1040

USB的24脚和12脚TYPEC引脚定义

USB 是一种接口,用于将设备连接到计算机上。通过该连接,计算机可以向设备发送数据或检索来自设备的数据。USB 为开发者提供了一个标准接口,适用于多种不同类型的应用。借助于系统的设计过程,USB 设备易于连接和使用。本应用笔记会使该过程变得更加简单。以下是本应用笔记中会使用的概念:USB 历史USB 架构USB 物理接口USB 速度USB 电源USB 端点USB 通信协议USB 描述符USB 类设备USB 枚举与配置过程。

易板 1万+

有效括号的嵌套深度之简单方法

**有效括号字符串 定义:对于每个左括号,都能找到与之对应的右括号,反之亦然。详情参见题末「有效括号字符串」部分。 嵌套深度 depth 定义:即有效括号字符串嵌套的层数,depth(A) 表示有效括号字符串 A 的嵌套深度。详情参见题末「嵌套深度」部分。 有效括号字符串类型与对应的嵌套深度计算方法如下图所示: 给你一个「有效括号字符串」 seq,请你将其分成两个不相交的有效括号字符串,A 和 B,并使这两个字符串的深度最小。 不相交:每个 seq[i] 只能分给 A 和 B 二者中的一个,不能既属于 A

honglouyibeng的博客 844

STM32—时钟树(结合系统时钟函数理解)

时钟树的概念: 我们可以把MCU的运行比作人体的运行一样,人最重要的是什么?是心跳! 心脏的周期性收缩将血液泵向身体各处。心脏对于人体好比时钟对于MCU,微控制器(MCU)的运行要靠周期性的时钟脉冲来驱动,而这个脉冲的始源往往是由外部晶体振荡器提供时钟输入,最终转换为多个外部设备的周期性运作。这种时钟“能量”的传递路径犹如大树的养分由主干流向个分支,因此称为时钟树。 STM32时钟: 在STM32...

肥宅快乐博客 1万+

LeetCode 每日一题 1111. 有效括号的嵌套深度

LeetCode 每日一题 1111. 有效括号的嵌套深度 2020.4.1 难度 中等 有效括号字符串 定义:对于每个左括号,都能找到与之对应的右括号,反之亦然。详情参见题末「有效括号字符串」部分。 嵌套深度 depth 定义:即有效括号字符串嵌套的层数,depth(A) 表示有效括号字符串 A 的嵌套深度。详情参见题末「嵌套深度」部分。 给你一个「有效括号字符串」 seq,请你将其分成两个不相...

一起加油 6085

CMakeTestCCompiler.cmake错误解决

CMakeTestCCompiler.cmake错误解决欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 最近编译项目的时候,遇到一个cmake的错误,具体错误信息如下: /path-to-pr

昨夜星辰的博客 2万+

Doris存储层设计介绍2——数据写入及删除流程

Doris存储层设计介绍2——数据写入及删除流程

爱吃辣条的博客 4588

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

leetcode 1111. 有效括号的嵌套深度 题目详情 题目链接 有效括号字符串定义:对于每个左括号,都能找到与之对应的右括号,反之亦然。详情参见题末「有效括号字符串」部分。 嵌套深度 depth 定义:即有效括号字符串嵌套的层数,depth(A) 表示有效括号字符串 A 的嵌套深度。详情参见题末「嵌套深度」部分。 有效括号字符串类型与对应的嵌套深度计算方法如下图所示: 给你一个「有效括号...

qq_33789406的博客 213

用一张分析型 CDS Query 看清争议案件新增与结案节奏:C_OpenClosedDisputeCase 深度解读

应收账款争议管理中的关键CDS视图分析 摘要:C_OpenClosedDisputeCase是SAP系统中用于监控应收账款争议案件的重要CDS视图,提供三个时间窗口(当日、近5天、当月)的新增与结案数据。该视图通过"创建vs解决"的净变化指标,帮助财务团队实时掌握争议管理趋势,特别适用于多币种跨国企业的现金流管理。其核心价值在于将争议管理从被动"救火"转变为可量化运营,通过统一汇率换算和关键日期参数,为管理层提供标准化的运营仪表盘。视图采用特权访问模式,需通过上层应用

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 122

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

题目描述 有效括号字符串 仅由 “(” 和 “)” 构成,并符合下述几个条件之一: 空字符串:s 为空时,depth("") = 0。 连接,可以记作 AB(A 与 B 连接),其中 A 和 B 都是有效括号字符串:s 为 A 与 B 连接时,depth(A + B) = max(depth(A), depth(B)),其中 A 和 B 都是有效括号字符串。 嵌套,可以记作 (A),其中 A 是有...

programmer-dll 248

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

我的LeetCode:https://leetcode-cn.com/u/ituring/ 我的LeetCode刷题源码[GitHub]:https://github.com/izhoujie/Algorithmcii LeetCode 1111. 有效括号的嵌套深度 题目 有效括号字符串 定义:对于每个左括号,都能找到与之对应的右括号,反之亦然。详情参见题末「有效括号字符串」部分。 嵌套深度 ...

iTuring_Zhou的专栏 80

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

1111. 有效括号的嵌套深度

#1111. 有效括号的嵌套深度 题目描述 解题思路 题目有点难读懂,看评论之后发现其实挺简单的,就是自己想不到 翻译题干意思就是:把一串有效括号分成两个序列,两个序列的嵌套层数最大值最小。嵌套深度实际上就是在进行合法性判断时候栈的深度,一个左括号就代表一个深度。要想两个新序列的深度最大值最小,实际上是要两个序列有相同的深度或者相差不大。 所以就采用按奇偶位置分配的方法,把两个相邻的左括号分配到...

hh155715的博客 408

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

力扣1111.有效括号的嵌套深度

对于。

Pisasama的博客 443

LeetCode 1111 有效括号的嵌套深度 (Java版; Meidum)

welcome to my blog LeetCode 1111. 有效括号的嵌套深度 (Java版; Meidum) 题目描述 有效括号字符串 仅由 "(" 和 ")" 构成,并符合下述几个条件之一: 空字符串 连接,可以记作 AB(A 与 B 连接),其中 A 和 B 都是有效括号字符串 嵌套,可以记作&nbsp...

littlehaes的博客 762

leetcode1111. 有效括号的嵌套深度

leetcode1111. 有效括号的嵌套深度 示例 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...

peony的博客 188

LeetCode 每日一题 1111. 有效括号的嵌套深度(小白写法)

写在前面: 菜鸡的我读题两小时,终于看懂了。。。 思路: 题目意思就是分成 a b两部分,初始为0 每次往a或b中加入seq[i],分给a时answer[i]=0,分给b时answer[i]=1 如果seq[i]==’(’ 此时a和b谁深度小就把它加大 如果seq[i]==’)’ 此时a和b谁深度大就把它压小 这样做就能保证a和b深度是差不多的,也就能保证得到a、b两个字符串的最小深度 ...

Gary的博客 332

LeetCode #1111 有效括号的嵌套深度 栈

先看另一道题目 LeetCode #20 有效的括号 题目描述 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: "()" 输出: true 示例 2: 输入: "()[]{}" 输出: true 示例 ...

阿玮的博客 241

Leetcode 1111.有效括号的嵌套深度(Maximum Nesting Depth of Two Valid Parentheses Strings)

Leetcode 1111.有效括号的嵌套深度 1 题目描述(Leetcode题目链接)   有效括号字符串 仅由 “(” 和 “)” 构成,并符合下述几个条件之一: 空字符串 连接,可以记作 AB(A 与 B 连接),其中 A 和 B 都是有效括号字符串 嵌套,可以记作 (A),其中 A 是有效括号字符串 类似地,我们可以定义任意有效括号字符串 s 的 嵌套深度 depth(S): s 为...

qq_39378221的博客 404
上一篇: 面试题 17.12 BiNode
下一篇: 289 生命游戏
UnendingGlory
博客等级 码龄9年 55粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值