首页 > 试题广场 >

最长有效的括号字符子序列

[编程题]最长有效的括号字符子序列
  • 热度指数:793 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个字符串s,里面可能含有若干括号和小写英文字母,请你判断最长有效的括号字符子序列有哪些,放在一个数组里面返回(你不用在乎序列在数组里面的顺序)。
最长有效括号字符子序列的标准如下:
1.每一个左括号,必须有对应的右括号和它对应
2.字母的位置以及存在对括号字符子序列的合法性不受影响
3.子序列是不连续的,比如"()("的子序列有"()",")(","()(","(("
4.相同的括号字符子序列只保留一个,比如"())"有2个子序列"()",但是最后只保留一个"()"

数据范围:
0<=s.length<=25
s最多有20个括号,括号为'('与')',最多有5个小写英文字母
示例1

输入

"()())"

输出

["(())","()()"]

说明

2个都是最长的,长度都为4,["()()","(())"]也是一个正确的答案 
示例2

输入

")("

输出

[""]
示例3

输入

"(a))"

输出

["(a)"]

说明

只有一个有效且最长的 

这道题你会答吗?花几分钟告诉大家答案吧!

问题信息

上传者:牛客301499号
难度:
0条回答 2137浏览

热门推荐

通过挑战的用户

查看代码