【算法题解析】将有效括号字符串分成两个深度最小的有效括号子序列
题目描述
给定一个有效括号字符串 seq
,你需要将其拆分成两个不相交的有效括号字符串 A
和 B
。要求满足:
A
和B
都是有效括号字符串;- 每个字符
seq[i]
只能属于A
或B
中的一个; - 目标是使得两个字符串的最大嵌套深度
max(depth(A), depth(B))
最小。
返回一个长度为 seq.length
的数组 answer
,其中:
answer[i] = 0
表示seq[i]
属于A
;answer[i] = 1
表示seq[i]
属于B
。
如果存在多个满足条件的方案,返回其中任意一个即可。
有效括号字符串定义
有效括号字符串是指:
- 空字符串是有效的;
- 如果
A
是有效的,那么(A)
也是有效的;