news 2026/8/18 4:14:13

【ACWing】150. 括号画家

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【ACWing】150. 括号画家

题目地址:

https://www.acwing.com/problem/content/152/

达达是一名漫画家,她有一个奇特的爱好,就是在纸上画括号。这一天,刚刚起床的达达画了一排括号序列,其中包含小括号 ( )、中括号 [ ] 和大括号 { },总长度为N NN
这排随意绘制的括号序列显得杂乱无章,于是达达定义了什么样的括号序列是美观的:

  1. 空的括号序列是美观的;
  2. 若括号序列 A是美观的,则括号序列 (A)、[A]、{A}也是美观的;
  3. 若括号序列 A、B都是美观的,则括号序列AB也是美观的。例如[(){}]()是美观的括号序列,而)({)[}](则不是。

现在达达想在她绘制的括号序列中,找出其中连续的一段,满足这段子串是美观的,并且长度尽量大。你能帮帮她吗?

输入格式:
输入一行由括号组成的字符串。

输出格式:
输出一个整数,表示最长的美观的子段的长度。

数据范围:
字符串长度不超过1 0 5 10^5105

可以用栈来做。当栈空,或者栈顶与遍历到的字符不匹配的时候,将下标入栈。这样栈顶存的就是最长美观子串的起始位置。如果匹配,则pop栈顶,并更新答案。代码如下:

#include<iostream>#include<stack>usingnamespacestd;intn;string s;intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);cin>>s;n=s.size();s=" "+s;automatch=[](chara,charb){returna=='('&&b==')'||a=='['&&b==']'||a=='{'&&b=='}';};stack<int>stk;intres=0;for(inti=1;i<=n;i++){charch=s[i];if(ch=='('||ch=='['||ch=='{')stk.push(i);else{if(stk.empty()||!match(s[stk.top()],ch))stk.push(i);else{stk.pop();res=max(res,i-(stk.size()?stk.top():0));}}}printf("%d\n",res);}

时空复杂度O ( N ) O(N)O(N)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/17 17:26:12

【单片机毕业设计】【dz-975】基于单片机的水质检测设计

一、功能简介项目名&#xff1a;基于单片机的水质检测设计 项目编号&#xff1a;dz-975 单片机类型&#xff1a;STM32F103C8T6 具体功能&#xff1a; 1、通过PH检测模块检测当前水环境的PH值&#xff0c;PH大于最大值或者最小值&#xff08;默认6~8&#xff09;&#xff0c;进行…

作者头像 李华
网站建设 2026/8/17 11:06:11

Oni-Duplicity:免费开源的《缺氧》存档编辑器完整使用指南

Oni-Duplicity&#xff1a;免费开源的《缺氧》存档编辑器完整使用指南 【免费下载链接】oni-duplicity A web-hosted, locally-running save editor for Oxygen Not Included. 项目地址: https://gitcode.com/gh_mirrors/on/oni-duplicity Oni-Duplicity 是一款专为《缺…

作者头像 李华
网站建设 2026/8/18 8:53:52

深耕人工智能职教领域 维视智造多措并举升级职教服务能力

近日&#xff0c;“AI 融智推动职业教育高质量发展论坛暨第三届职业院校人工智能学院院长&#xff08;系主任&#xff09;会议” 在云南腾冲隆重召开。本次大会由全国人工智能职业教育集团主办、中教全媒体承办&#xff0c;以 “智能赋能&#xff0c;融合共生&#xff1a;构建人…

作者头像 李华
网站建设 2026/8/18 11:08:29

只要一个 GPT 客户端,把一个代码审计员塞入口袋

很多程序员都会用 GPT 改代码。 但真正敢把 GPT 当“代码审计员”用的&#xff0c;其实不多。 原因很简单&#xff1a; 大多数时候&#xff0c;GPT 只是帮你“写得更像样”&#xff0c;而不是告诉你“这段代码能不能过”。 一个很现实的问题&#xff1a; 程序员不用任何方法…

作者头像 李华
网站建设 2026/8/17 7:06:04

为什么越来越多的游戏公司选择EmotiVoice做角色配音?

为什么越来越多的游戏公司选择EmotiVoice做角色配音&#xff1f; 在开放世界游戏中&#xff0c;一个NPC的台词可能多达上千句&#xff1b;而在多结局、高自由度的设计下&#xff0c;玩家每一次选择都可能触发全新的对话分支。传统配音模式早已不堪重负——声优进棚录制动辄数月…

作者头像 李华
网站建设 2026/8/16 22:26:09

Obsidian Tasks插件终极指南:5步构建高效任务管理系统

Obsidian Tasks插件终极指南&#xff1a;5步构建高效任务管理系统 【免费下载链接】obsidian-tasks Task management for the Obsidian knowledge base. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-tasks Obsidian Tasks是一款专为Obsidian知识库设计的免费…

作者头像 李华