leetcode_1614嵌套括号的最大深度

1. 题意

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

2. 题解

其实就是求未闭合的左括号的最大数量!

可以用栈来解决!

2.1 老实人解法

左括号入栈,右括号就把这前的左括号出栈!

在整个过程中取栈的最大深度。

cpp 复制代码
class Solution {
public:
    int maxDepth(string s) {
        
        int sz = static_cast<int>( s.size() );

        stack<char> st{};

        int ans{};
        for(char c:s) {
            if ( c == '(') {
                st.push( '(');
            }
            else if ( c == ')') {
                st.pop();
            }
            else {

            }
            ans = max( ans, static_cast<int>(st.size()) );
        }

        return ans;
    }
};
2.2 坏人做法

其实不需要真的入栈,只需要在左括号入栈时增加栈深度,而在右括号出现时减少栈的深度就可以了。

cpp 复制代码
class Solution {
public:
    int maxDepth(string s) {
        
        int sz = static_cast<int>( s.size() );

        int depth{};

        int ans{};
        for(char c:s) {
            if ( c == '(') {
                depth++;
            }
            else if ( c == ')') {
                depth--;
            }
            else {

            }
            ans = max( ans, depth );
        }

        return ans;
    }
};
相关推荐
zyl76516 小时前
FlashAttention 详解:从 GPU 硬件、普通 Attention 到分块计算与 Online Softmax
算法
爱读书的小胖20 小时前
LeetCode 122:买卖股票的最佳时机 II(C)解题分析
算法
结局无敌20 小时前
React Native for OpenHarmony 实战:三方库 react-native-modal-dialog 的鸿蒙化适配指南
深度学习·算法·react native·react.js·harmonyos
ychqsq20 小时前
234.无题
经验分享·职场和发展
OPEN-F20 小时前
ROS2系列教程:上位机建图与导航(原理综合)
算法·机器人
weixin_3077791320 小时前
C++代码实现MATLAB中的fitrtree函数功能
开发语言·c++·算法·matlab
tomwang032220 小时前
路径优化建模、优化算法分类及工程化小结
算法·数学建模·分类
小羊没烦恼!20 小时前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp
考研保研资料分享21 小时前
物理保研至中科大:固体物理复习、四场面试与科研追问
面试·职场和发展
2501_9269783321 小时前
人机通信协议--人和机器之间的交互想象
人工智能·经验分享·算法·ai写作