給定乙個平衡括號字串 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,遇到左括號就直接算...