当前位置: 首页 > 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

相关文章:

  • 【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
  • 做批发网站有哪些/百度指数教程
  • 安徽华夏网站建设/网络广告的形式有哪些
  • 济宁网站网站建设/搜索引擎推广实训
  • wordpress搭建商城网站/交换链接营销
  • 做平台外卖的网站需要什么资质/网站搭建外贸
  • 手机网站有哪些类型/石家庄网络推广平台