Class Solution
- java.lang.Object
-
- g1101_1200.s1111_maximum_nesting_depth_of_two_valid_parentheses_strings.Solution
-
public class Solution extends Object
1111 - Maximum Nesting Depth of Two Valid Parentheses Strings.Medium
A string is a valid parentheses string (denoted VPS) if and only if it consists of
"("and")"characters only, and:- It is the empty string, or
- It can be written as
AB(Aconcatenated withB), whereAandBare VPS’s, or - It can be written as
(A), whereAis a VPS.
We can similarly define the nesting depth
depth(S)of any VPSSas follows:depth("") = 0depth(A + B) = max(depth(A), depth(B)), whereAandBare VPS’sdepth("(" + A + ")") = 1 + depth(A), whereAis a VPS.
For example,
"","()()", and"()(()())"are VPS’s (with nesting depths 0, 1, and 2), and")("and"(()"are not VPS’s.Given a VPS seq, split it into two disjoint subsequences
AandB, such thatAandBare VPS’s (andA.length + B.length = seq.length).Now choose any such
AandBsuch thatmax(depth(A), depth(B))is the minimum possible value.Return an
answerarray (of lengthseq.length) that encodes such a choice ofAandB:answer[i] = 0ifseq[i]is part ofA, elseanswer[i] = 1. Note that even though multiple answers may exist, you may return any of them.Example 1:
Input: seq = “(()())”
Output: [0,1,1,1,1,0]
Example 2:
Input: seq = “()(())()”
Output: [0,0,0,1,1,0,1,1]
Constraints:
1 <= seq.size <= 10000
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
-
-
Method Detail
-
maxDepthAfterSplit
public int[] maxDepthAfterSplit(String seq)
-
-