LeetCode 1111 有效括號的巢狀深度

2021-10-23 02:53:33 字數 1177 閱讀 4244

有效括號字串型別與對應的巢狀深度計算方法如下圖所示:

給你乙個「有效括號字串」seq,請你將其分成兩個不相交的有效括號字串,ab,並使這兩個字串的深度最小。

如果存在多個滿足要求的答案,只需返回其中任意 乙個即可。

輸入:seq = "()(())()"    // 0表示分割a,1表示分給b

輸出:[0,0,0,1,1,0,1,1]

解釋:本示例答案不唯一。

本題其實相當於讓a字串和b字串的depth盡可能的接近。為什麼呢?因為seq對應的棧上,每個左括號都對應乙個深度,而這個左括號,要麼是a的,要麼是b的。所以,棧上的左括號只要按奇偶分配給ab就可以啦!

更好理解的思路:啥奇偶規律啊?我咋就沒看出來有這規律呢?別慌,我幫你捋捋更簡單實惠的理解方法。

這題是這樣的,要讓ab的最大深度最小,關鍵就是,a\b你倆的深度誰都別漲太快。別a的深度都到10了,b0深度呢。所以很簡單,漲深度的時候,誰比較淺,我就給誰漲。降的時候,誰比較深,我就給誰降。

啥叫「漲深度」呢?那就是'('啊,來乙個左括號,那深度就漲一格,所以a/b誰淺就給誰漲。深度一樣的話呢,就隨便給漲乙個。漲完了你得降啊,啥叫「降深度」呢?那就是右括號啊,右括號來了誰深先降誰。

class

solution

else

}else

if(c ==

')')

else}}

return ans;}}

;

LeetCode 1111 有效括號的巢狀深度

有效括號字串 定義 對於每個左括號,都能找到與之對應的右括號,反之亦然。詳情參見題末 有效括號字串 部分。巢狀深度 depth 定義 即有效括號字串巢狀的層數,depth a 表示有效括號字串 a 的巢狀深度。詳情參見題末 巢狀深度 部分。給你乙個 有效括號字串 seq,請你將其分成兩個不相交的有效...

LeetCode 1111 有效括號的巢狀深度

有效括號字串 定義 對於每個左括號,都能找到與之對應的右括號,反之亦然。詳情參見題末 有效括號字串 部分。巢狀深度 depth 定義 即有效括號字串巢狀的層數,depth a 表示有效括號字串 a 的巢狀深度。詳情參見題末 巢狀深度 部分。有效括號字串型別與對應的巢狀深度計算方法如下圖所示 給你乙個...

leetcode20 python有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true 示例 3 輸入 輸出 false 示例 4 輸入 輸出 false 示例 5 輸入 輸...