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) 给你一个「有 阅读详情

相关推荐

PICO G2 4K Unity开发环境配置完全指南

VR开发中,Android平台的硬件适配与Unity版本兼容性是基础性技术命题。PICO G2 4K作为基于骁龙845+Android 8.1的专用VR一体机,其开发链路高度依赖特定Unity LTS版本(2020.3.41f1)、NDK r21e及OpenJDK 11等工具链组合,本质是嵌入式Android VR Runtime与Unity IL2CPP ABI的深度对齐问题。该配置方案不仅解决ADB识别、APK签名、Logcat捕获等工程痛点,更支撑手柄6DoF追踪、射线交互、Haptic反馈等核心XR

weixin_30298497的博客 616

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

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

qq_31404603的博客 407

编码约定的自由度:重新思考Hamming码在实际工程中的灵活应用

本文探讨Hamming码在实际工程中的灵活应用,突破标准实现的思维定式。通过分析不同编码约定的优缺点和资源受限环境下的设计权衡,展示如何根据嵌入式系统、通信协议等具体需求定制汉明码实现,优化编解码效率并降低硬件开销。

perl8的博客 178

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

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

l888c的专栏 365

不到200块!手把手教你用ZYNQ7010和AD9363攒一台自己的开源SDR硬件(附BOM清单)

本文详细介绍了如何用不到200元的预算,基于ZYNQ7010 FPGA和AD9363射频芯片打造一台功能完备的开源SDR硬件平台。从核心组件选型、PCB设计到焊接调试,提供全流程实战指南,特别适合预算有限的硬件爱好者和创客群体探索无线通信世界。

weixin_26854829的博客 479

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

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

honglouyibeng的博客 844

2024.6.10丨基于DIAMOND与VFDB数据库的致病菌毒力因子高效注释指南

本文详细介绍了基于DIAMOND与VFDB数据库的致病菌毒力因子高效注释方法,涵盖工具安装、参数优化、数据库选择及实战案例解析。通过DIAMOND的快速比对和VFDB的全面毒力因子数据,显著提升微生物基因组研究效率,适用于临床检测、食品安全监测等多个场景。

weixin_33712987的博客 376

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

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

一起加油 6085

第三节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - 对接后端登录接口(上)

这里是Vben Admin V5版本实战体验,上一节我们前端已正常运行,但是没有实现登录。本节的重点是对接后端接口。上一节地址:第一节:Vben Admin 最新 v5.0初体验第二节:Vben Admin 登录逻辑梳理和对接后端准备后端我们采用Python的Flask项目,Flask-SQLAlchemy管理数据库模型,Flask-Migrate进行模型迁移。参考版本如下:Flask3.0.23.1.1到这里,登录接口完成,下一步要实现获取用户信息和权限的接口功能。

cuiwin的专栏 1861

GEE APP:时间序列影像批处理工具:按月筛选与智能导出解决方案出工具

本文介绍了一个基于Google Earth Engine(GEE)开发的智能时序影像处理工具,可高效处理遥感影像时间序列数据。该工具采用三栏式交互布局,包含控制面板、地图显示和缩略图预览区域。核心功能包括:1)灵活的时间筛选机制,支持年度范围选择和月份批量选择;2)智能影像筛选算法,基于云量、空间覆盖等条件自动选择最佳影像;3)交互式缩略图预览,支持点击加载完整影像;4)自动化批量导出系统,实现标准化命名和统一存储。工具可广泛应用于农业监测、城市扩张研究、生态环境评估等领域,显著提高遥感数据预处理效率,确保

此星光明博客 113

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

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

qq_33789406的博客 213

STM32串口编程基础知识讲解

本篇文章给大家介绍一下串口的基础编程知识,这些知识是属于串口的理论知识,在开始学习编写代码的时候必须要掌握这些基本的知识点。本篇文章讲解了串口的基本概念知识,大家在学习编写代码时将其掌握才能更好的理解代码。

m0_49476241的博客 1208

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

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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

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

iTuring_Zhou的专栏 80

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

1111. 有效括号的嵌套深度

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

hh155715的博客 408

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

力扣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、付费专栏及课程。

余额充值