力扣题库刷题笔记682-棒球比赛

1、题目如下:

 

2、个人Python代码实现如下:

        代码如下:

class Solution:

    def calPoints(self, operations: List[str]) -> int:

        i = 0                                               #用于遍历元素的下标

        while i < len(operations):                          #当没有遍历完时,一直遍历

            if operations[i] == 'C':                        #如果元素为C,删除当前元素及上一个元素,并从当前元素上一个元素继续遍历

                del operations[i-1: i+1]

                i -= 1                                      

            elif operations[i] == 'D':                      #如果元素为D,将当前元素赋值为前一个元素的2倍,并从当前元素的下一个元素继续遍历

                operations[i] = operations[i-1] * 2

                i += 1                                          

            elif operations[i] == '+':                      #如果元素为+,将当前元素赋值为前两个元素之和,并从当前元素的下一个元素继续遍历

                operations[i] = operations[i-2] + operations[i-1]

                i += 1

            else:                                           #如果元素为数字,转换成整型

                operations[i] = int(operations[i])

                i += 1

        return sum(operations)

3、力扣题解代码Copy:

        对于个人,难点在于下标的重新赋值以及循环的退出。 再看力扣题解,思路几乎一样,但是题解使用的是栈的思路,在如果解决循环这里更优:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值