和谐字符串

和谐字符串

描述

这里有一个非常长的字符串,它由大、中、小括号(英文)组成,你的任务就是找出最长和谐子字符串。

和谐字符串的定义如下:
1 . 这个子串是连续的
2 . 在这个子串中,左右括号的数量相等,每一个左括号都对应有一个与其性质相同的右括号与其配对,
并且每对括号中间或者没有东西,或者也是一个和谐子串。

如果有多个相等长度的,请输出最靠左的一个。

格式

输入格式

一个长度不超过\(5 \times 10^6\)的字符串\(s\)。

输出格式

最长的和谐子字符串

样例1

样例输入1

{}}[()()]

样例输出1

[()()]

限制

各个测试点1s,256MB
对于30%的数据,保证\(1 \leq |s| \leq 5000\)。
对于100%的数据,保证\(1 \leq |s| \leq 5 \times 10^6\)。

提示

注意所有括号均为英文输入
为了让大家理解和谐字符串,在这里举几个例子:

序号 例子 是否和谐 说明
\(1\) {}[][]] No 左括号和与右括号数量不相等
\(2\) {{]} No 不能让左括号和右括号一一匹配
\(3\) {{[(])}} No 可以让左右括号一一匹配,但成对括号当中有不和谐字符串
\(4\) {{{}}} Yes 符合要求
\(5\) ()[] Yes 符合要求

信息

难度
9
分类
数据结构 | 点击显示
标签
(无)
递交数
8
已通过
2
通过率
25%
被复制
1
上传者