如何解决leetcode挑战棒球比赛???
如何解决leetcode挑战棒球比赛???
你正在为一场规则奇怪的棒球比赛记分。游戏由几轮组成,过去几轮的得分可能会影响未来几轮的得分。
相关文章:
如何在 python 中解决加密 HackerRank 挑战???
我如何在 Python 中解决在 Python 挑战中组织球的容器???
在游戏开始时,您从一个空记录开始。给你一个字符串列表 运维
, 在哪里 操作[i]
是个 我
您必须申请该记录的操作并且是以下之一:
- 一个整数
X
- 记录新的分数X
. “+”
- 记录一个新的分数,它是前两个分数的总和。保证总会有两个以前的分数。“D”
- 记录一个新分数,是以前分数的两倍。保证总会有以前的分数。“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基础
2-Python OOP:带有项目的 Python 面向对象编程
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 用于数据分析和可视化
14- JavaScript 速成课程:
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明