小欧想要构造一个合法的括号序列满足以下条件:
1.括号序列长度恰好为 2 × n 。
2.括号序列的嵌套层数最大值为 r 。
括号嵌套层数是指在一个字符串中,以左括号 "(" 和右括号 ")" 形成的括号对的最大嵌套深度。
例如,在字符串 "((())())" 中,括号嵌套层数最大值为 3。一行两个整数 n, r(1 ≤ r ≤ n ≤ 10^5) 。
一行一个字符串表示括号序列。若有多种构造方案,输出任意一个即可。
3 2
()(())
考点:栈
数据规模 n ≤ 1e5 | 限制 1 秒 / 256MB | 标准输入输出
参考方向:栈
后进先出的结构天然适合处理嵌套、匹配与「最近的更大/更小」问题。
思路框架(栈 通法 · 非本题专属)
实现要点:Python 用 list 当栈(append/pop);判断栈空再取栈顶。
复杂度:时间 O(n) | 空间 O(n)
该范式的通法易错点
对照本题
本题在源数据中没有官方考点标签,方向由题面特征推断,仅供参考。
样例 1
3 2()(())解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2024年秋招-OPPO-后端岗笔试。