leecode856.括號中的分數
題目
思路分析
模擬法做這道題。
- 當遍歷到當前字串為’('時,將0壓入棧中。
- 當遍歷到當前字串為’)‘時,取棧頂元素。如果棧頂元素是非0,累加棧頂元素,直到遇到0.如果棧頂元素是0,說明此時的情況是’()’,將1壓入棧。
- 當遍歷完所有的字串的時候,將棧中所有的數字累加得到最後的結果。
程式碼
class Solution {
public:
int scoreOfParentheses(string S) {
stack<int> s;
for(auto c : S){
if(c == '(') s.push(0);
else {
int sum = 0, u;
while((u = s.top()) != 0) sum += u, s.pop();
s.pop();
s.push(max(1, 2 * sum));
}
}
int ans = 0;
while(!s.empty()) ans += s.top(), s.pop();
return ans;
}
};
相關文章
- 理解正規表示式中的括號 (),方括號 [] 和大括號 {}
- Matlab中的括號()[]{}Matlab
- JSON 字串中的中括號和大括號區別詳解JSON字串
- JavaScript中圓括號()和方括號[]的一個特殊用法JavaScript
- 正則中括號點符號符號
- JavaScript 小括號()分組運算子JavaScript
- 萬用字元 and [] 中括號的用法字元
- mysql 中資料型別tinyint(2)括號中的數字意思MySql資料型別
- 括號匹配;及找數字續分析
- python的學習(三)----中括號的使用Python
- c++物件建立帶括號與無括號的區別C++物件
- 在word文件中全部的文字出現了灰色背景,而且有中括號括起。
- 區分import 什麼時候使用 花括號{ }Import
- js正規表示式獲取字串中多個大括號{}中的內容,包括大括號並放入陣列中JS字串陣列
- JavaScript取出字串中括號裡的內容JavaScript字串
- SQL中多條件查詢括號的用途SQL
- 正規表示式中括號[]字元類字元
- 正規表示式 中括號[] 字元類字元
- 20. 有效的括號
- 括號畫家
- 【棧】括號匹配
- JavaScript 函式呼叫時帶括號和不帶括號的區別JavaScript函式
- (譯) javascript中的物件,方括號和演算法JavaScript物件演算法
- 【Microbar 】Asp.net 類中使用中括號([......])的作用ASP.NET
- Vim中設定括號自動補全
- [leetcode]有效的括號LeetCode
- [PHP字串]②--花括號{}的作用PHP字串
- Shell 括號總結
- Swift之花括號Swift
- 最長有效括號
- 【題解】括號序列
- 物件點查詢和中括號查詢的區別物件
- 詳解中括號語法及點語法
- Linux Shell中各種括號用法總結!Linux
- python3中 print不加括號報錯!Python
- Vim常用操作-快速刪除括號中內容。
- 每日一題: 有效括號每日一題
- JS 中函式名後面加與不加括號的區別JS函式