zoukankan      html  css  js  c++  java
  • 每日一题力扣682

    你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。

    比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 ops[i] 是你需要记录的第 i 项操作,ops 遵循下述规则:

    整数 x - 表示本回合新获得分数 x
    "+" - 表示本回合新获得的得分是前两次得分的总和。题目数据保证记录此操作时前面总是存在两个有效的分数。
    "D" - 表示本回合新获得的得分是前一次得分的两倍。题目数据保证记录此操作时前面总是存在一个有效的分数。
    "C" - 表示前一次得分无效,将其从记录中移除。题目数据保证记录此操作时前面总是存在一个有效的分数。
    请你返回记录中所有得分的总和。

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/baseball-game
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    class Solution:
        def calPoints(self, ops: List[str]) -> int:
            res=[]
            for val in ops:
                if val.lstrip('-').isdigit():#负号判断
                    res.append(val)
                elif val=='D':
                    cur=res[-1]#把刚刚放进栈的元素拿出来
                    res.append(str(int(cur)*2))
                elif val=='C':
                    res.pop()
                elif val=='+':
                    cur1=res[-1]
                    cur2=res[-2]
                    res.append(str(int(cur1)+int(cur2)))
            return sum(int(i) for i in res)
  • 相关阅读:
    (十三)子查询
    (十二)多表查询
    MFC读写配置ini文件
    (十一)分组函数(多行函数)
    Django(二十一)组合搜索
    Django(二十)model中的 class Meta
    (十)单行函数
    (九)逻辑运算,order by,desc
    类作为成员变量
    内部类——匿名内部类
  • 原文地址:https://www.cnblogs.com/liuxiangyan/p/14548652.html
Copyright © 2011-2022 走看看