括號的分數

2022-06-10 11:30:20 字數 817 閱讀 9202

給定乙個平衡括號字串 s,按下述規則計算該字串的分數:

() 得 1 分。

ab 得 a + b 分,其中 a 和 b 是平衡括號字串。

(a) 得 2 * a 分,其中 a 是平衡括號字串。

示例1:

輸入: "()"

輸出: 1

示例2:

輸入: "(())"

輸出: 2

示例3:

輸入: "()()"

輸出: 2

示例4:

輸入: "(()(()))"

輸出: 6

s 是平衡括號字串,且只含有 ( 和 ) 。

2 <= s.length <= 50

如果是(),就為1,如果並列的()()為1+1,如果(())包含的關係則為2*1

主要是還是模擬棧的方式解決,初始化棧頂元素為0,當為左括號時候push乙個0元素進棧,

當為右括號時候取棧頂的元素為m,n,此時的值應為n + max(2 * m, 1),取出2 * m 和1中的最大值

//

括號的分數

class

stack

return

array.removelast();

}func push(x: int) ->void

}func scoreofparentheses(_ s: string) ->int

else

}return

stack.pop();

}

Leetcode 括號的分數 棧

leetcode 856.括號的分數 給定乙個平衡括號字串 s,按下述規則計算該字串的分數 得 1 分。ab 得 a b 分,其中 a 和 b 是平衡括號字串。a 得 2 a 分,其中 a 是平衡括號字串。python 實現 class solution object defscoreofparen...

LeetCode 括號的分數 856

給定乙個平衡括號字串s,按下述規則計算該字串的分數 示例 1 輸入 輸出 1 示例 2 輸入 輸出 2 示例 3 輸入 輸出 2 示例 4 輸入 輸出 6 s是平衡括號字串,且只含有 和 2 s.length 50 我們可以使用遞迴來解決這個問題。通過分析題目,我們發現有三種情況 比如 score ...

leetcode 856 括號的分數

給定乙個平衡括號字串s,按下述規則計算該字串的分數 示例 1 輸入 輸出 1示例 2 輸入 輸出 2示例 3 輸入 輸出 2示例 4 輸入 輸出 6 s是平衡括號字串,且只含有 和 2 s.length 50 很明顯,這一題可以用棧來解決。我們把單獨乙個左括號算作0分,遍歷字串s,遇到左括號就直接算...