LeetCode 1111. 有效括号的嵌套深度(奇偶分离)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1111. 有效括号的嵌套深度(奇偶分离)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
有效括號字符串 僅由 "(" 和 ")" 構成,并符合下述幾個條件之一:
- 空字符串
- 連接,可以記作 AB(A 與 B 連接),其中 A 和 B 都是有效括號字符串
- 嵌套,可以記作 (A),其中 A 是有效括號字符串
類似地,我們可以定義任意有效括號字符串 s 的 嵌套深度 depth(S):
- s 為空時,depth("") = 0
- s 為 A 與 B 連接時,depth(A + B) = max(depth(A), depth(B)),其中 A 和 B 都是有效括號字符串
- s 為嵌套情況,depth("(" + A + ")") = 1 + depth(A),其中 A 是有效括號字符串
例如:"","()()",和 "()(()())" 都是有效括號字符串,嵌套深度分別為 0,1,2,而 ")(" 和 "(()" 都不是有效括號字符串。
給你一個有效括號字符串 seq,將其分成兩個不相交的子序列 A 和 B,且 A 和 B 滿足有效括號字符串的定義(注意:A.length + B.length = seq.length)。
現在,你需要從中選出 任意 一組有效括號字符串 A 和 B,使 max(depth(A), depth(B)) 的可能取值最小。
返回長度為 seq.length 答案數組 answer ,選擇 A 還是 B 的編碼規則是:如果 seq[i] 是 A 的一部分,那么 answer[i] = 0。否則,answer[i] = 1。
即便有多個滿足要求的答案存在,你也只需返回 一個。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/maximum-nesting-depth-of-two-valid-parentheses-strings
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- 題目意思是,盡可能的讓拆開的兩個括號的 最大嵌套深度 最小
- 那就按照深度分成奇數層、偶數層,分別拿出來就行了
總結
以上是生活随笔為你收集整理的LeetCode 1111. 有效括号的嵌套深度(奇偶分离)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LintCode 1683. 杀怪兽(队
- 下一篇: LintCode 1353. 根节点到叶