给定一个合法的括号序列,要求通过对其进行若干次(或不进行)的相邻合法括号子序列的交换,得到字典序最大的括号序列。每个合法的括号序列由左右括号组成,并且是有效的括号匹配。
这道题的核心在于递归拆分括号子序列,然后对子序列进行字典序排序。我们可以将括号表达式看作是树状的结构,递归处理括号内部的子结构并保证排序合并后的结果是字典序最大的表达式。
我们称一个括号串为有效括号表达式,其定义如下:
() 都是有效括号表达式;A 和 B 是有效括号表达式,那么 (A) 和 AB 也都是有效括号表达式。对于任意一个括号串,将其中的每个 ( 替换为 1,每个 ) 替换为 0,可以得到一个二进制串。该二进制串对应的整数值称为这个括号表达式的值。
你可以执行以下操作任意次(包含0次):
开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册