你現在是棒球比賽記錄員。
給定乙個字串列表,每個字串可以是以下四種型別之一:
1.整數(一輪的得分):直接表示您在本輪中獲得的積分數。
2. "+"(一輪的得分):表示本輪獲得的得分是前兩輪有效 回合得分的總和。
3. "d"(一輪的得分):表示本輪獲得的得分是前一輪有效 回合得分的兩倍。
4. "c"(乙個操作,這不是乙個回合的分數):表示您獲得的最後乙個有效 回合的分數是無效的,應該被移除。
每一輪的操作都是永久性的,可能會對前一輪和後一輪產生影響。
你需要返回你在所有回合中得分的總和。
示例 1:
輸入: ["5","2","c","d","+"]
輸出: 30
解釋:
第1輪:你可以得到5分。總和是:5。
第2輪:你可以得到2分。總和是:7。
操作1:第2輪的資料無效。總和是:5。
第3輪:你可以得到10分(第2輪的資料已被刪除)。總數是:15。
第4輪:你可以得到5 + 10 = 15分。總數是:30。
示例 2:
輸入: ["5","-2","4","c","d","9","+","+"]
輸出: 27
解釋:
第1輪:你可以得到5分。總和是:5。
第2輪:你可以得到-2分。總數是:3。
第3輪:你可以得到4分。總和是:7。
操作1:第3輪的資料無效。總數是:3。
第4輪:你可以得到-4分(第三輪的資料已被刪除)。總和是:-1。
第5輪:你可以得到9分。總數是:8。
第6輪:你可以得到-4 + 9 = 5分。總數是13。
第7輪:你可以得到9 + 5 = 14分。總數是27。
注意:輸入列表的大小將介於1和1000之間。
列表中的每個整數都將介於-30000和30000之間。
很簡單的一道模擬題,歸類到棧裡,所以用stack做的,其實直接用單變數更快
class solution
返回true或false
equals()方法比較的是物件的內容(區分字母的大小寫格式),但是如果使用「==」雙等號操作符比較兩個物件時,比較的是兩個物件的記憶體位址,所以它們不相等(即使內容相同,不同物件的記憶體位址也是不相同的)。
leetcode 巧妙解法之棧 682 棒球比賽
你現在是棒球比賽記錄員。給定乙個字串列表,每個字串可以是以下四種型別之一 1.整數 一輪的得分 直接表示您在本輪中獲得的積分數。2.一輪的得分 表示本輪獲得的得分是前兩輪有效 回合得分的總和。3.d 一輪的得分 表示本輪獲得的得分是前一輪有效 回合得分的兩倍。4.c 乙個操作,這不是乙個回合的分數 ...
LeetCode 棒球比賽 682
你現在是棒球比賽記錄員。給定乙個字串列表,每個字串可以是以下四種型別之一 1.整數 一輪的得分 直接表示您在本輪中獲得的積分數。2.一輪的得分 表示本輪獲得的得分是前兩輪有效回合得分的總和。3.d 一輪的得分 表示本輪獲得的得分是前一輪有效回合得分的兩倍。4.c 乙個操作,這不是乙個回合的分數 表示...
LeetCode刷題(棧) 682 棒球比賽
你現在是一場採用特殊賽制棒球比賽的記錄員。這場比賽由若干回合組成,過去幾回合的得分可能會影響以後幾回合的得分。比賽開始時,記錄是空白的。你會得到乙個記錄操作的字串列表 ops,其中 ops i 是你需要記錄的第 i 項操作,ops 遵循下述規則 整數 x 表示本回合新獲得分數 x 表示本回合新獲得的...