如何解决leetcode挑战棒球比赛???

如何解决leetcode挑战棒球比赛???

你正在为一场规则奇怪的棒球比赛记分。游戏由几轮组成,过去几轮的得分可能会影响未来几轮的得分。

相关文章:

什么是链接列表以及如何通过面试问题来实现它们???

什么是栈数据结构???

如何在 python 中解决加密 HackerRank 挑战???

我如何在 Python 中解决在 Python 挑战中组织球的容器???

在游戏开始时,您从一个空记录开始。给你一个字符串列表 运维 , 在哪里 操作[i] 是个 您必须申请该记录的操作并且是以下之一:

  1. 一个整数 X - 记录新的分数 X .
  2. “+” - 记录一个新的分数,它是前两个分数的总和。保证总会有两个以前的分数。
  3. “D” - 记录一个新分数,是以前分数的两倍。保证总会有以前的分数。
  4. “C” - 使之前的分数无效,将其从记录中删除。保证总会有以前的分数。

返回 记录中所有分数的总和 .生成测试用例以使答案适合 32 位整数。

示例 1:

**输入:** 操作 = ["5","2","C","D","+"]  
 **输出:** 30  
 **解释:**  
 "5" - 将 5 添加到记录中,记录现在是 [5]。  
 "2" - 将 2 添加到记录中,记录现在是 [5, 2]。  
 "C" - 使之前的分数无效并删除,记录现在是 [5]。  
 "D" - 将 2 * 5 = 10 添加到记录中,记录现在是 [5, 10]。  
 "+" - 将 5 + 10 = 15 添加到记录中,记录现在是 [5, 10, 15]。  
 总和为 5 + 10 + 15 = 30。

示例 2:

**输入:** ops = ["5","-2","4","C","D","9","+","+"]  
 **输出:** 27  
 **解释:**  
 "5" - 将 5 添加到记录中,记录现在是 [5]。  
 "-2" - 将 -2 添加到记录中,记录现在是 [5, -2]。  
 "4" - 将 4 添加到记录中,记录现在是 [5, -2, 4]。  
 "C" - 使之前的分数无效并删除,记录现在是 [5, -2]。  
 "D" - 将 2 * -2 = -4 添加到记录中,记录现在是 [5, -2, -4]。  
 "9" - 将 9 添加到记录中,记录现在是 [5, -2, -4, 9]。  
 "+" - 将 -4 + 9 = 5 添加到记录中,记录现在是 [5, -2, -4, 9, 5]。  
 "+" - 将 9 + 5 = 14 添加到记录中,记录现在是 [5, -2, -4, 9, 5, 14]。  
 总和为 5 + -2 + -4 + 9 + 5 + 14 = 27。

示例 3:

**输入:** 操作 = ["1","C"]  
 **输出:** 0  
 **解释:**  
 "1" - 记录加 1,记录现在是 [1]。  
 "C" - 无效并删除以前的分数,记录现在是 []。  
 由于记录为空,因此总和为 0。

约束:

  • 1 <= ops.length <= 1000
  • 操作[i] “C” , “D” , “+” ,或表示范围内整数的字符串 [-3 * 104, 3 * 104] .
  • 用于操作 “+” , 记录中总会有至少两个以前的分数。
  • 用于操作 “C” “D” , 记录中总会有至少一个先前的分数。

解决方案:

您可以使用堆栈数据结构来解决这个挑战

 类解决方案(对象):  
 def calPoints(自我,操作):  
 堆栈 = []  
 对于操作中的操作:  
 如果打开 == '+':  
 stack.append(stack[-1] + stack[-2])  
 elif at == 'C':  
 stack.pop()  
 elif op == 'D':  
 stack.append(2 * 栈[-1])  
 别的:  
 stack.append(int(op))  
 返回总和(堆栈)

在 YouTube 上关注我: http://www.youtube.com/c/TemotecLearningAcademy/?sub_confirmation=1

在 Medium 上关注我: https://medium.com/@temoteclearningacademy

跟随 我在知乎上: https://temotecacademy.quora.com/?invite_code=ZIeeqxfcztMR4vRITASN

在 LinkedIn 上关注我:

https://www.linkedin.com/in/temotec-learning-academy-0a615a17a/

检查并尝试我所有的课程:

1-Python初学者:通过Python项目学习Python基础

https://www.udemy.com/course/the-complete-python-for-beginner-master-python-from-scratch/?referralCode=A17413F047D0E511C848

2-Python OOP:带有项目的 Python 面向对象编程

https://www.udemy.com/course/python-oop-master-python-oop-from-scratch-with-projects/?referralCode=74EFC0268F5D1A6BDDEB

3-Python 具有挑战性的编码练习和 MCQ:做好工作准备:

https://www.udemy.com/course/python-exercises-workbook/?referralCode=F523A274F49489AA1CC2

4- 2021 年用于数据分析和数据科学的 SQL:

https://www.udemy.com/course/sql-course-for-data-science/?referralCode=1E3D3DAFA2FA3E00ECCB

5- SQL 简介:SQL Crash Course.:

https://www.udemy.com/course/sql-course/?referralCode=9E796BE2746262D9A996

6- 数据分析师训练营:成为数据分析师的完整课程:

https://www.udemy.com/course/data-analyst-bootcamp/?referralCode=3C7125445BBF082413AD

7- 通过在 Python 中构建游戏来学习 Python:

https://www.udemy.com/course/python-games-development/?referralCode=EDC3B04398C25A03E96F

8- SQL 训练营:完整的 SQL 课程:

https://www.udemy.com/course/sql-bootcamp-course/?referralCode=00A8AF336E71B2858361

9- Python Pandas 数据速成课程:

https://www.udemy.com/course/python-pandas-data-crash-course/?referralCode=73C6F6325067BE8EC7BE

10- 从 Scratch 开始的 Python 中的 Facebook 聊天机器人:

https://www.udemy.com/course/facebook-chat-bot-in-python/?referralCode=0FAFD44C9933DFAE708B

11- 从 Scratch 用 Python 编写 Twitter 聊天机器人:

https://www.udemy.com/course/twitter-chat-bot-in-python/?referralCode=16EC6263C1E33BBABB42

12- 从零开始的 Python 中的 Numpy Pandas:

https://www.udemy.com/course/numpy-pandas-python/?referralCode=B93F13A53750E215F3D9

13- Python 数据课程:Python 用于数据分析和可视化

https://www.udemy.com/course/python-data-analysis-visualization-course/?referralCode=8F647705760CD9F5933F

14- JavaScript 速成课程:

https://www.udemy.com/course/javascript-crash-course-bootcamp-projects/?referralCode=3DF82E17FA7A9744807D

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/22144/37190708

posted @ 2022-09-07 08:37  哈哈哈来了啊啊啊  阅读(20)  评论(0编辑  收藏  举报