博客
关于我
【坚持每日一题5.11】1614. 括号的最大嵌套深度
阅读量:706 次
发布时间:2019-03-21

本文共 808 字,大约阅读时间需要 2 分钟。

有效括号字符串(VPS)的嵌套深度是指括号字符串中括号的开启和闭合层次。有效括号字符串的深度定义如下:

  • 空字符串的深度为0。
  • 由单个非'('或')'字符组成的字符串的深度为0。
  • 由AB两部分组成的字符串(A和B均为VPS)的深度为max(depth(A), depth(B))。
  • 由"(A)"组成的字符串(A为VPS)的深度为1 + depth(A)。

下面将通过遍历字符串的方法来计算括号表达式的最大嵌套深度:

  • 初始化两个变量maxcount,分别记录当前遍历到的最大深度和当前层数。
  • 遍历字符串的每一个字符:
    • 如果是左括号'(',则count加1,并更新max
    • 如果是右括号')',则count减1。
  • 遍历结束后,max即为字符串的最大嵌套深度。
  • 这种方法的时间复杂度为O(n),其中n为字符串的长度。该算法在给定的约束条件下能够高效地计算括号表达式的最大嵌套深度。

    class Solution {    public int maxDepth(String s) {        int max = 0;        int count = 0;        int len = s.length();        for (int i = 0; i < len; i++) {            if (s.charAt(i) == '(') {                count++;                if (max < count) {                    max = count;                }            } else if (s.charAt(i) == ')') {                count--;            }        }        return max;    }}

    转载地址:http://nobrz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现newton raphson牛顿-拉夫森算法(附完整源码)
    查看>>
    Objective-C实现newtons second law of motion牛顿第二运动定律算法(附完整源码)
    查看>>
    Objective-C实现newton_forward_interpolation牛顿前插算法(附完整源码)
    查看>>
    Objective-C实现newton_raphson牛顿拉夫森算法(附完整源码)
    查看>>
    Objective-C实现NLP中文分词(附完整源码)
    查看>>
    Objective-C实现NLP中文分词(附完整源码)
    查看>>
    Objective-C实现NMS非极大值抑制(附完整源码)
    查看>>
    Objective-C实现NMS非极大值抑制(附完整源码)
    查看>>
    Objective-C实现Node.Js中生成一个UUID/GUID算法(附完整源码)
    查看>>
    Objective-C实现not gate非门算法(附完整源码)
    查看>>
    Objective-C实现number of digits解字符数算法(附完整源码)
    查看>>
    Objective-C实现NumberOfIslands岛屿的个数算法(附完整源码)
    查看>>
    Objective-C实现numerical integration数值积分算法(附完整源码)
    查看>>
    Objective-C实现n个取m个数的组合算法(附完整源码)
    查看>>
    Objective-C实现n皇后问题算法(附完整源码)
    查看>>
    Objective-C实现O(E + V) 中找到 0-1-graph 中的最短路径算法(附完整源码)
    查看>>
    Objective-C实现OCR文字识别(附完整源码)
    查看>>
    Objective-C实现odd even sort奇偶排序算法(附完整源码)
    查看>>
    Objective-C实现ohms law欧姆定律算法(附完整源码)
    查看>>
    Objective-C实现P-Series algorithm算法(附完整源码)
    查看>>