LeetCode5535。括弧の最大ネスト深度

記事ディレクトリ

1.タイトル

ビット文字列がいずれかの条件を満たす場合、アクティブブラケット文字列と呼ばれることがあります(有効な括弧文字列、VPSと省略される場合があります)。

  • 空の文字列は文字列""であるか、"(" 或 ")"単一の文字ではありません
  • 文字列はAB(AとBが連結されている)として記述できます。ここで、AとBは両方とも有効な括弧で囲まれた文字列です。
  • 文字列は(A)と書くことができます。ここで、Aは有効な括弧で囲まれた文字列です。

同様に、任意の有効なブラケット文字列Sのネスト深度depth(S)を定義できます。

  • depth("") = 0
  • depth(A + B) = max(depth(A), depth(B))、ここで、AとBは両方とも有効な括弧で囲まれた文字列です
  • depth("(" + A + ")") = 1 + depth(A)、ここで、Aは有効な括弧で囲まれた文字列です

例:""、"()()"、"()(()())"すべてのアクティブなブラケット文字列(それぞれ0、1、2のネストの深さ)。ただし")(" 、"(()"、有効な文字列ブラケットではありません。

有効なブラケット文字列sを提供し、文字列の入れ子の深さを返します

示例 1:
输入:s = "(1+(2*3)+((8)/4))+1"
输出:3
解释:数字 8 在嵌套的 3 层括号中。

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

示例 3:
输入:s = "1+(2*3)/(2-1)"
输出:1

示例 4:
输入:s = "1"
输出:0
 
提示:
1 <= s.length <= 100
s 由数字 0-9 和字符 '+''-''*''/''('')' 组成
题目数据保证括号表达式 s 是 有效的括号表达式

出典:LeetCode(LeetCode)
リンク:https://leetcode-cn.com/problems/maximum-nesting-depth-of-the-parentheses
著作権はLeetCodeが所有しています商用の再版については、公式の承認に連絡してください。非商用の再版については、出典を示してください。

2.問題解決

  • 左の括弧++に会う、右の括弧に会う--
class Solution {
    
    
public:
    int maxDepth(string s) {
    
    
        int maxdepth = 0, deep = 0;
        for(char c : s)
        {
    
    
            if(c == '(')
                deep++;
            else if(c == ')')
                deep--;
            maxdepth = max(maxdepth, deep);
        }
        return maxdepth;
    }
};

4 ms 5.9 MB


私のCSDNブログアドレスhttps://michael.blog.csdn.net/

コードを長押しまたはスキャンして、私の公式アカウント(Michael Amin)をフォローし、一緒に応援し、一緒に学び、進歩してください!
マイケルアミン

おすすめ

転載: blog.csdn.net/qq_21201267/article/details/109011780