码迷,mamicode.com
首页 > 其他好文 > 详细

Baseball Game

时间:2017-09-25 00:47:20      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:sel   ret   添加   简单   obj   points   app   ops   list   

    这道题为简单题

  题目:

    技术分享

 

  思路:

    利用栈,遍历列表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

标签:sel   ret   添加   简单   obj   points   app   ops   list   

原文地址:http://www.cnblogs.com/liuxinzhi/p/7589281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!