当前位置: 首页 > news >正文

力扣题库刷题笔记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:

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

 

http://www.lryc.cn/news/65985.html

相关文章:

  • SpringCloud------Eureka修改实例显示信息、服务发现Discovery、自我保护(六)
  • Java 远程debug,IDEA 远程 Debug 调试
  • 将webrtc的音频模式改为共享模式
  • 电脑cpu占用率高?怎么办?1分钟快速解决!
  • 使用JPA自动生成代码(轻松上手看了就会版)
  • jdk动态代理
  • 备忘录模式
  • 问题解决:跨域访问错误
  • 程序员应该怎么自学才能入门 ?我来聊聊自己的经历
  • 听我一句劝,别去外包,干了6年,废了....
  • leetcode 88 合并两个有序数组
  • 软件项目成本控制的5大关键点 不得不重视
  • CSS样式更改:边框Border的另类用法
  • shell的灵活运用 (函数,关联数组,循环,awk,sed等)
  • 大疆无人机 MobileSDK(遥控器/手机端)开发 v4版<1>
  • mysql数据库之事务
  • 安装运行Hyperf
  • 回收站文件恢复,分享4个巧妙解决方法!
  • CTF权威指南 笔记 -第三章汇编基础-3.2-x86/x64汇编基础
  • 争夺汽车芯片「高地」
  • SuperMap GIS基础产品三维GIS FAQ集锦(2)
  • 11.streamFile
  • 如何裁剪图片大小尺寸?
  • 深度学习笔记之梯度下降、反向传播与内置优化器
  • Visual Studio 2022 搭建GLFW OpenGL开发环境
  • 四元数快速入门【Quaternion】
  • 为什么我们要使用向量化运算
  • Makefile零基础教学(一)初识makefile
  • 如何使用SpringMVC之常用注解
  • Vue3的axios请求封装,请求拦截,相应拦截