|
| 1 | +# 棒球比赛 |
| 2 | + |
| 3 | +> 难度:简单 |
| 4 | +> |
| 5 | +> https://leetcode.cn/problems/baseball-game/description/?envType=daily-question&envId=2024-07-29 |
| 6 | +
|
| 7 | +## 题目 |
| 8 | + |
| 9 | +你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。 |
| 10 | + |
| 11 | +比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 `ops`,其中 `ops[i]` 是你需要记录的第 `i` 项操作,`ops` 遵循下述规则: |
| 12 | + |
| 13 | +- 整数 `x` - 表示本回合新获得分数 `x` |
| 14 | +- `"+"` - 表示本回合新获得的得分是前两次得分的总和。题目数据保证记录此操作时前面总是存在两个有效的分数。 |
| 15 | +- `"D"` - 表示本回合新获得的得分是前一次得分的两倍。题目数据保证记录此操作时前面总是存在一个有效的分数。 |
| 16 | +- `"C"` - 表示前一次得分无效,将其从记录中移除。题目数据保证记录此操作时前面总是存在一个有效的分数。 |
| 17 | + |
| 18 | +请你返回记录中所有得分的总和。 |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | +### 示例 1: |
| 23 | +``` |
| 24 | +输入:ops = ["5","2","C","D","+"] |
| 25 | +输出:30 |
| 26 | +解释: |
| 27 | +"5" - 记录加 5 ,记录现在是 [5] |
| 28 | +"2" - 记录加 2 ,记录现在是 [5, 2] |
| 29 | +"C" - 使前一次得分的记录无效并将其移除,记录现在是 [5]. |
| 30 | +"D" - 记录加 2 * 5 = 10 ,记录现在是 [5, 10]. |
| 31 | +"+" - 记录加 5 + 10 = 15 ,记录现在是 [5, 10, 15]. |
| 32 | +所有得分的总和 5 + 10 + 15 = 30 |
| 33 | +``` |
| 34 | + |
| 35 | +### 示例 2: |
| 36 | +``` |
| 37 | +输入:ops = ["5","-2","4","C","D","9","+","+"] |
| 38 | +输出:27 |
| 39 | +解释: |
| 40 | +"5" - 记录加 5 ,记录现在是 [5] |
| 41 | +"-2" - 记录加 -2 ,记录现在是 [5, -2] |
| 42 | +"4" - 记录加 4 ,记录现在是 [5, -2, 4] |
| 43 | +"C" - 使前一次得分的记录无效并将其移除,记录现在是 [5, -2] |
| 44 | +"D" - 记录加 2 * -2 = -4 ,记录现在是 [5, -2, -4] |
| 45 | +"9" - 记录加 9 ,记录现在是 [5, -2, -4, 9] |
| 46 | +"+" - 记录加 -4 + 9 = 5 ,记录现在是 [5, -2, -4, 9, 5] |
| 47 | +"+" - 记录加 9 + 5 = 14 ,记录现在是 [5, -2, -4, 9, 5, 14] |
| 48 | +所有得分的总和 5 + -2 + -4 + 9 + 5 + 14 = 27 |
| 49 | +``` |
| 50 | + |
| 51 | +### 示例 3: |
| 52 | +``` |
| 53 | +输入:ops = ["1"] |
| 54 | +输出:1 |
| 55 | +``` |
0 commit comments