算法1
(贪心?) $O(n)$
首先要求出每个括号得嵌套深度,可以用栈,但是输入字符串中只有一种括号,所以用一个变量记录即可;
求出每个括号得深度以后,根据题意,均匀分配到A和B中即可。
时间复杂度
遍历一次输入字符串,故时间复杂度是$O(n)$
C++ 代码
class Solution {
public:
vector<int> maxDepthAfterSplit(string seq) {
int d = 0;
vector<int> res;
for (char c: seq){
if (c == '('){
++d;
res.push_back(d % 2);
}
else {
res.push_back(d % 2);
--d;
}
}
return res;
}
};