首页 > 试题广场 >

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

[编程题]最长有效的括号字符子序列
  • 热度指数:992 时间限制: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)"]

说明

只有一个有效且最长的 
头像 tompai
发表于 2022-01-23 10:58:17
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @re 展开全文
头像 太阳hxy
发表于 2023-09-03 20:58:54
import java.util.*; public class Solution { //创建一个List<String>类型的基于数组的表,用ArrayList的无参构造函数 private List<String> res=new ArrayList& 展开全文
头像 17c89
发表于 2025-02-20 22:53:08
import java.util.*; /** * NC255 最长有效的括号字符子序列 * @author d3y1 */ public class Solution { private ArrayList<String> list = new ArrayList< 展开全文