【刷题日记】682. 棒球比赛

简介: 本次刷题日记的第 11 篇,力扣题为:682. 棒球比赛 ,简单

【刷题日记】682. 棒球比赛

本次刷题日记的第 11 篇,力扣题为:682. 棒球比赛简单

一、题目描述:

image.png

这个题文字描述有点多,不过逻辑还是比较简单的,慢慢多刷几个题之后,我们就能更好的耐着性子来看看题目所表达的含义了,虽然题目是简单题,但是我们也不能放过,每一道题,都会有我们值得学习的地方,每一个人身上也总是会有发光的点


二、思路分析:

1、这道题考察了什么思想?你的思路是什么?

这道题仔细阅读后,题意还是非常明确的,我们需要注意题目中给出的规则

image.png

对于 “+”  ,“D” ,“C” 以及正常整数的运算逻辑需要处理好,其他的没啥,思路如下:

  • 遍历一次题目给出的 ops 操作数数组,对于不同的字符,我们将其翻译成对应的数字,用一个 help 数组来记录,实时结果用 res 来记录
  • 按照逻辑将数字累加,最终得出结论

我们只需要按照所给的字符进行一步一步的模拟就可以将结果模拟出来,没有什么隐藏的注意事项,我们还是以题目中给出的示例来演示一遍:

示例1 : ops = ["5","2","C","D","+"]

image.png

我们可以看到,正常的模拟下来,就是一个数学题,注意 C , D , +  这三个字符的特殊含义及对应的特殊逻辑

引入了一个帮助记录的 help 数组,记录我们的结果集

三、编码

根据上述逻辑和分析,我们就可以翻译成如下代码,就按照咱们数学的方式来处理即可

编码如下:

func calPoints(ops []string) (res int) {
 helper := []int{}
    for _, op := range ops {
        n := len(helper)
        switch op {
        case "+":
            res += helper[n-1] + helper[n-2]
            helper = append(helper, helper[n-1]+helper[n-2])
        case "D":
            res += helper[n-1] * 2
            helper = append(helper, 2*helper[n-1])
        case "C":
            res -= helper[n-1]
            helper = helper[:len(helper)-1]
        default:
            pt, _ := strconv.Atoi(op)
            res += pt
            helper = append(helper, pt)
        }
    }
    return
}

看实际编码也是非常基础的,主要是对字符的判断,以及对应逻辑的实现,实现的话则是在数组的操作上面进行处理

四、总结:

本题比较简单,主要是换换脑袋,时间复杂度是 O(n) , 空间复杂度是 O(n)

本题是给出了一些很确切的定义,并没有让我们处理异常情况

可以实际工程代码中,不得不考虑各种异常情况来保证程序的鲁棒性,需要分析好每一种出现的可能以及场景,来将不同可能的场景进行分类,统一梳理,制定解决方案,输出设计,编码等等

不过我们可以从简单题开始刷起,涨涨信心

欢迎点赞,关注,收藏

朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力

image.png

好了,本次就到这里

技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。

我是阿兵云原生,欢迎点赞关注收藏,下次见~


相关文章
|
7月前
|
存储
每日一题——leetcode682.棒球比赛
每日一题——leetcode682.棒球比赛
|
机器学习/深度学习 安全 测试技术
【刷题日记】2100. 适合打劫银行的日子
本次刷题日记的第 2 篇,力扣题为:2100. 适合打劫银行的日子 ,中等
110 0
|
Cloud Native
【刷题日记】824. 山羊拉丁文
本次刷题日记的第 40 篇,力扣题为:【刷题日记】824. 山羊拉丁文 ,简单
|
7月前
leetcode-682:棒球比赛
leetcode-682:棒球比赛
57 0
LeetCode 682 棒球比赛
用栈实现数字的运算 用switch-case语句对符号进行不同的操作处理 用Stack下的get()方法实现取出栈内第任意个数字
|
移动开发 小程序 程序员
这一年,熬过许多夜,也有些许收获 | 2022年终总结
弹指一挥间,时间如白驹过隙。光阴似箭,如月如梭,时间如闪电,转瞬即逝。一说到年终总结,好像都离不开这样煽情的开场白。但不可否认的是,时间确实过得很快,一晃一年又没了。
166 0
这一年,熬过许多夜,也有些许收获 | 2022年终总结
|
移动开发 前端开发 JavaScript
|
算法
牛客网———公务员面试
牛客网———公务员面试
202 0