问题 E: 括号的最大嵌套深度

2023-11-02

题目描述

如果字符串满足以下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS):

  • 字符串是一个空字符串 "",或者是一个不为 "(" 或 ")" 的单字符。
  • 字符串可以写为 AB(A 与 B 字符串连接),其中 A 和 B 都是 有效括号字符串 。
  • 字符串可以写为 (A),其中 A 是一个 有效括号字符串 。

类似地,可以定义任何有效括号字符串 S 的 嵌套深度 depth(S):

  • depth("") = 0
  • depth(C) = 0,其中 C 是单个字符的字符串,且该字符不是 "(" 或者 ")"
  • depth(A + B) = max(depth(A), depth(B)),其中 A 和 B 都是 有效括号字符串
  • depth("(" + A + ")") = 1 + depth(A),其中 A 是一个 有效括号字符串

例如:""、"()()"、"()(()())" 都是 有效括号字符串(嵌套深度分别为 0、1、2),而 ")(" 、"(()" 都不是 有效括号字符串 。

给你一个 有效括号字符串 s,返回该字符串的 s 嵌套深度 。

输入

给你一个 有效括号字符串 s
 

  • 1 <= s.length <= 100
  • s 由数字 0-9 和字符 '+'、'-'、'*'、'/'、'('、')' 组成


 

输出

返回该字符串的 s 嵌套深度

样例输入 复制

()()

样例输出 复制

1

纸老虎一条!

这道题说白了就是求最大有几个括号套在一起,用栈肥肠煎蛋 ,可以参考前面的括号匹配

上代码:

#include<bits/stdc++.h>
using namespace std;
int maxDepth(char *s)
{
    int len=strlen(s);
    stack<char>a;
    int max=0;
    for(int i=0;i<len;i++)
    {
        if(s[i]=='(')
        {
            a.push(s[i]);
            max=fmax(max,a.size());    //这个a.size其实就是左括号的个数,也就是嵌套的括号的个数
        }
        else if(s[i]==')')
        {
            a.pop();
        }
    }
    return max;
}

int main()
{
	char s[100];
	cin>>s;
	cout<<maxDepth(s);
}

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

问题 E: 括号的最大嵌套深度 的相关文章

  • 用于代数简化和求解的 C# 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 网络上有很多代数求解器和简化器 例如 algebra com 上不错的代数求解器和简化器 然而 我正在
  • 注销租约抛出 InvalidOperationException

    我有一个使用插件的应用程序 我在另一个应用程序域中加载插件 我使用 RemoteHandle 类http www pocketsilicon com post Things That Make My Life Hell Part 1 App
  • 如何让 Swagger 插件在自托管服务堆栈中工作

    我已经用 github 上提供的示例重新提出了这个问题 并为任何想要自己运行代码的人提供了一个下拉框下载链接 Swagger 无法在自托管 ServiceStack 服务上工作 https stackoverflow com questio
  • 如何将非静态类成员“std::bind”绑定到 Win32 回调函数“WNDPROC”?

    我正在尝试将非静态类成员绑定到标准WNDPROC http msdn microsoft com en us library ms633573 aspx功能 我知道我可以通过将类成员设为静态来简单地做到这一点 但是 作为一名 C 11 ST
  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 我可以使用 moq Mock 来模拟类而不是接口吗?

    正在经历https github com Moq moq4 wiki Quickstart https github com Moq moq4 wiki Quickstart 我看到它 Mock 一个接口 我的遗留代码中有一个没有接口的类
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • C#:帮助理解 UML 类图中的 <>

    我目前正在做一个项目 我们必须从 UML 图编写代码 我了解 UML 类图的剖析 但我无法理解什么 lt
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 为什么 gcc 抱怨“错误:模板参数 '0' 的类型 'intT' 取决于模板参数”?

    我的编译器是gcc 4 9 0 以下代码无法编译 template
  • 如何在非控制台应用程序中查看 cout 输出?

    输出到调试窗口似乎相当繁琐 我在哪里可以找到cout如果我正在编写非控制台信息 则输出 Like double i a b cout lt lt b lt lt endl I want to check out whether b is z
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData
  • 如何从 ODBC 连接获取可用表的列表?

    在 Excel 中 我可以转到 数据 gt 导入外部数据 gt 导入数据 然后选择要使用的数据源 然后在提供登录信息后 它会给我一个表格列表 我想知道如何使用 C 以编程方式获取该列表 您正在查询什么类型的数据源 SQL 服务器 使用权 看

随机推荐

  • python执行js代码进行aes加解密以及python代码与前端交互加解密

    在前后端交互的过程中 基于安全考虑 往往需要对某些数据进行加密传输 我们以传输密码为例 如果密码明文传输的话 有被截取的风险 因此我们可以考虑采取rsa加密或者aes加密的方式 本文采用aes加密的方法进行传输 aes加解密 前后端要商定好
  • 11张网络安全思维导图,运维快收藏起来强化你的服务器吧!

    本文包含以下思维导图 网络安全绪论 扫描与防御技术 网络监听及防御技术 口令破解及防御技术 欺骗攻击及防御技术 拒绝服务供给与防御技术 缓冲区溢出攻击及防御技术 Web攻击及防御技术 木马攻击与防御技术 计算机病毒 网络安全发展与未来 网络
  • 如何在网上赚钱,下班兼职赚钱,这8种方法或许有适合你的

    网上赚钱 简称 网赚 网赚 主要是指利用计算机 服务器等设备 通过互联网上的各种信息差 从互联网上赚钱的一种方式 兼职赚钱 简单点说就是 你有一份自己的工作是正职 除此之外你还可以再找一份别的工作作为副职 就是工作的同时 兼作另一份工作 叫
  • windows 查看端口占用情况

    方法一 开始 运行 cmd 进入命令提示符 输入netstat ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项 可以在任务管理器中选 查看 选择列 方法二 查看所有的端口占用情
  • 牛客网刷题笔记

    本来想在牛客网上刷完一道在线编程题后就写以下体会笔记 可是找了半天都没找到在哪里写东西 无奈 我就只好来CSDN上写了 只是想写而已 刚开始写 肯定会很不理想 但是没关系 慢慢写吧 总会有提高的 今天在牛客网刷了一道求最长字串是回文数的长度
  • android中出现javax.net.ssl.SSLPeerUnverifiedException的解决方案

    javax net ssl SSLPeerUnverifiedException No peer certificate的错误 根据有关资料解决如下 1 编写SSLSocketFactoryEx 以代替原有的SSLSocketFactory
  • activiti7-4-流程激活和挂起

    我是一个目录 1 分析 2 全部流程实例的挂起和激活 3 单个流程实例挂起 1 分析 如果公司制度发生变化 1 原本没有批完的流程怎么办 例如 30人没有处理完 怎么办 看公司制度了 有可能 按原来的走 也有可能全部打回 重新发起 全部按照
  • windows创建软连接

    可用于地址映射 方便统一配置管理 打开cmd执行 创建命令 指令 软连接地址 实际地址 mklink J D bwopt booway bwss D Java Project main insenattendance bwopt boowa
  • Java http请求工具类

    近期使用json请求很多 数据交互格式统一 方便数据转化 但是过时的工具类在后台之间请求时 发现接收到并不是标准的JSON 请求头也有问题 造成很大的困扰 所以整理了一个标准的工具类 import org apache http NameV
  • c语言中八进制输出的格式说明符,C 的输入&输出格式说明符讲解

    C的输入 输出格式说明符讲解 方便你了解C的输入与输出格式的写法 d整型输出 ld长整型输出 o以八进制数形式输出整数 x以十六进制数形式输出整数 或输出字符串的地址 u以十进制数输出unsigned型数据 无符号数 注意 d与 u有无符号
  • win服务器上的虚拟机反应慢,高手解读Win10系统打开vmware特别慢的具体方法

    大家在用win10系统的过程中 各位难免会遇到Win10系统打开vmware特别慢的问题 Win10系统打开vmware特别慢这样的情况还真的把很多电脑高手都为难住了 别着急 我们自己就可以处理掉Win10系统打开vmware特别慢的问题
  • 【毕业季·进击的技术er】 我 能

    你陪我步入蝉夏 越过城市喧嚣 歌声还在游走 你榴花般的双眸 不见你的温柔 丢失花间欢笑 岁月无法停留流云 的等候 在纸短情长里 我们迎来了毕业季 这是告别 也是迈向新起点的开始 本文我从一个大三在校生的角度来讲讲我和编程的那些事 希望技术社
  • Android 系统865虚拟化集成无源码apk示例

    一 环境 高通865虚拟化Android 10 版本 二 具体修改的文件 以集成OppoAnonymousId apk为例 1 新建OppoAnonymousId目录 将apk放到该目录 vendor qcom proprietary pr
  • g2o编译错误

    ORBSLAM2 with pointcloud map g2o with orbslam2 g2o types slam2d edge se2 pointxy bearing cpp 51 39 error cannot convert
  • uniapp uni.setClipboardData成功默认提示

    uni setClipboardData data hello uniapp success function 重点 做笔记 在success中加入uni hideToast 可以解决 uni hideToast 以下就可自定义操作了 fa
  • SpringBoot(八)拦截器Interceptor

    上篇介绍了Filter过滤器的使用 提起过滤器 就不得不再提起另外一个叫做拦截器的东西 两者的作用类似 都可以实现拦截请求的作用 但其实两者有着非常大的区别 本篇 我们就来学习下拦截器的使用 如果你是新手 且没看过我之前的一系列Spring
  • Ubuntu系统使用光盘作为apt-get源

    1 将系统光盘插入光驱 接入系统 并挂载 mount dev sr0 mnt 2 修改apt get源 将光驱挂着的目录加入源 vim etc apt sources list 在首行加入 deb file mnt trusty main
  • 【Linux服务器】 .bashrc设置永久环境变量后不起作用的问题

    在使用vi打开 bashrc文件以后设置环境变量 vim bashrc export PATH PATH home uusama mysql bin 然而发现设置了以后不起作用 这时候可以在终端界面使用export命令查看当前所有的PATH
  • 基于Aidlux的自动驾驶智能预警方案

    forewarning py为智能预警代码 运行后视频结果如下所示 基于Aidlux的自动驾驶智能预警方案 YOLOP导出onnx模型 执行命令 python3 export onxx py height 640 width 640 执行完
  • 问题 E: 括号的最大嵌套深度

    题目描述 如果字符串满足以下条件之一 则可以称之为 有效括号字符串 valid parentheses string 可以简写为 VPS 字符串是一个空字符串 或者是一个不为 或 的单字符 字符串可以写为 AB A 与 B 字符串连接 其中