Baseball Game
Posted 唐僧洗发爱飘柔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Baseball Game相关的知识,希望对你有一定的参考价值。
这道题为简单题
题目:
思路:
利用栈,遍历列表ops,如果是数字就存入列表a,sum加上数字,如果是C,判断a是否还有数字,有就删除,如果是D,判断a是否还有数字,有就把num加上2倍a的最后一个数并将2倍之和的数添加到a中,如果是+,判断a是否还有两个数,有就将num加上那两个数,并将后面这两个数的和添加到a中。最后返回num
代码:
1 class Solution(object): 2 def calPoints(self, ops): 3 """ 4 :type ops: List[str] 5 :rtype: int 6 """ 7 a = [] 8 num = 0 9 for i in ops: 10 if i == \'C\': 11 if a: 12 num -= int(a.pop()) 13 elif i == \'D\': 14 if a: 15 num += 2 * int(a[len(a)-1]) 16 a.append(2 * int(a[len(a)-1])) 17 elif i == \'+\': 18 if len(a)>=2: 19 num = num + int(a[len(a)-1]) + int(a[len(a)-2]) 20 a.append(int(a[len(a)-1]) + int(a[len(a)-2])) 21 else: 22 a.append(i) 23 num += int(i) 24 return num
以上是关于Baseball Game的主要内容,如果未能解决你的问题,请参考以下文章