欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > 好未来0520上机考试题1:括号的最大嵌入深度

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

2025/6/9 3:07:35 来源:https://blog.csdn.net/qq_54708219/article/details/148502033  浏览:    关键词:好未来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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词