当前位置: 首页 > news >正文

好未来0520上机考试题1:括号的最大嵌入深度

题目

(LeetCode 1614.括号的最大嵌入深度)

给定 有效括号字符串 s,返回 s 的嵌套深度。嵌套深度是嵌套括号的最大数量。

示例 1:

输入:s = "(1+(2*3)+((8)/4))+1"

输出:3

解释:数字 8 在嵌套的 3 层括号中。

示例 2:

输入:s = "(1)+((2))+(((3)))"

输出:3

解释:数字 3 在嵌套的 3 层括号中。

示例 3:

输入:s = "()(())((()()))"

输出:3

解答

我们使用一个变量`current_depth`来跟踪当前的嵌套深度,用`max_depth`记录遇到的最大深度。

遍历字符串中的每个字符:

- 如果遇到左括号'(',则当前深度加1,并更新最大深度(因为进入了一层新的嵌套)。

- 如果遇到右括号')',则当前深度减1(表示退出一层嵌套)。

- 其他字符(如数字、运算符)不影响深度,直接跳过。

注意:题目保证括号是有效的,所以不会出现不匹配的情况,因此我们不需要检查在减深度时是否会出现负数。

代码实现:

class Solution:def maxDepth(self, s: str) -> int:current_depth = 0max_depth = 0for char in s:if char == '(':current_depth += 1max_depth = max(max_depth, current_depth)elif char == ')':current_depth -= 1return max_depthif __name__ == "__main__":solution = Solution()s = "(1+(2*3)+((8)/4))+1"print(solution.maxDepth(s))  # 输出:3
http://www.dtcms.com/a/236993.html

相关文章:

  • 【PCIe总线】 -- PCI、PCIe相关实现
  • 【Dv3Admin】系统视图下载中心API文件解析
  • 【leetcode】递归,回溯思想 + 巧妙解法-解决“N皇后”,以及“解数独”题目
  • 从零开始制作小程序简单概述
  • C++设计模式 - 单例模式
  • 硬件电路设计-开关电源设计
  • 第22讲、Odoo18 QWeb 模板引擎详解
  • day49 python 注意力热图
  • 银行卡二三四要素实名接口如何用PHP实现调用?
  • 抖去推--短视频矩阵系统源码开发
  • 十(1). 强制类型转换
  • 【C/C++】实现固定地址函数调用
  • OSCP靶机练习 mantis
  • FlashAttention 公式推导
  • OD 算法题 B卷【全排列】
  • Supersonic 新一代AI数据分析平台
  • JS有哪些迭代器,该如何使用?
  • 【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
  • vue中的派发事件与广播事件,及广播事件应用于哪些场景和一个表单验证例子
  • 5.4.2 Spring Boot整合Redis
  • oracle 11g ADG备库报错ORA-00449 lgwr unexpectedly分析处理
  • C++刷题:日期模拟(1)
  • react菜单,动态绑定点击事件,菜单分离出去单独的js文件,Ant框架
  • 【Docker 01】Docker 简介
  • 数学:花括号在数学中的应用详解
  • Strong Baseline: Multi-UAV Tracking via YOLOv12 with BoT-SORT-ReID 2025最新无人机跟踪
  • Scrapy爬虫教程(新手)
  • 论文阅读:Matting by Generation
  • jenkins gerrit-trigger插件配置
  • [yolov11改进系列]基于yolov11融合改进检测头AFPN4的python源码+训练源码