leetcode其難雜症

2021-09-06 08:32:25 字數 1052 閱讀 5342

你現在是棒球比賽記錄員。

給定乙個字串列表,每個字串可以是以下四種型別之一:

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。

注意:在真實的面試中遇到過這道題?

class solution(object):

def calpoints(self, ops):

:type ops: list[str]

:rtype: int

stack =

for op in ops:

if op =='+':

elif op =='c':

stack.pop() //移除最後乙個元素並返回元素

elif op == 'd':

else:

return sum(stack)

android 開發遇到的奇難雜症

gradle 構建報錯corrupted datablock 2944000 found in cache x taskartifacts filehashes.bin 解決辦法 把專案下的.gradle 目錄刪掉 再構建 x filehashes.bin was locked等等 檔案被鎖定 且不...

Hadoop疑難雜症

前天安裝了pig,本來寫了條pig latin,但一直卡在 17 05 07 17 47 07 info mapreduce.job running job job 1494150363568 0001跑不通,想著肯定是mapredcue自身有問題,於是開始了艱苦的檢錯之旅,從csdn到stackf...

Appium疑難雜症

坑之初體驗 1.session大於60秒沒接收到命令自動關閉 python desired caps 在啟動配置裡面加入newcommandtimeout引數 desired caps newcommandtimeout 200 但是注意cnpm預設在當前目錄安裝npm包。3.uiautomatio...