题目描述
给定一个只包含 (、)、[、] 的字符串。你可以删除任意数量的字符,剩下的字符相对顺序保持不变。
请输出可以得到的最长合法括号子序列的长度。合法括号序列需要满足:
- 每个左括号都能与一个类型相同的右括号匹配;
- 匹配的左括号出现在对应右括号之前;
- 括号可以嵌套,但不能交叉匹配。
例如,([]) 是长度为 的合法括号序列;([)] 中括号交叉,不能整体匹配,但可以选出 () 或 [],答案为 。
输入格式
输入包含多组数据,每组数据占一行,为一个只包含 (、)、[、] 的非空字符串。
输入以单独一行的 0 结束。
输出格式
对于每组数据,输出一行一个整数,表示最长合法括号子序列的长度。
样例
([])
([][]
[])(
([)]
0
4
4
2
2
数据范围
- 每个括号串长度不超过 ;
- 字符串只包含
(、)、[、]。