博客
关于我
【坚持每日一题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/

    你可能感兴趣的文章
    Node-RED中Button按钮组件和TextInput文字输入组件的使用
    查看>>
    vue3+Ts 项目打包时报错 ‘reactive‘is declared but its value is never read.及解决方法
    查看>>
    Node-RED中Slider滑杆和Numeric数值输入组件的使用
    查看>>
    Node-RED中Switch开关和Dropdown选择组件的使用
    查看>>
    Node-RED中使用exec节点实现调用外部exe程序
    查看>>
    Node-RED中使用function函式节点实现数值计算(相加计算)
    查看>>
    Node-RED中使用html节点爬取HTML网页资料之爬取Node-RED的最新版本
    查看>>
    Node-RED中使用JSON数据建立web网站
    查看>>
    Node-RED中使用json节点解析JSON数据
    查看>>
    Node-RED中使用node-random节点来实现随机数在折线图中显示
    查看>>
    Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
    查看>>
    Node-RED中使用node-red-contrib-image-output节点实现图片预览
    查看>>
    Node-RED中使用node-red-node-ui-iframe节点实现内嵌iframe访问其他网站的效果
    查看>>
    Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
    查看>>
    Node-RED中使用range范围节点实现从一个范围对应至另一个范围
    查看>>
    Node-RED中实现HTML表单提交和获取提交的内容
    查看>>
    Vue3+elementplus实现图片上传下载(最强实践)
    查看>>
    Node-RED中将CSV数据写入txt文件并从文件中读取解析数据
    查看>>
    Node-RED中建立TCP服务端和客户端
    查看>>
    Node-RED中建立Websocket客户端连接
    查看>>