Задача 7: Бейсбольный матч

Напишите определение функции calPoints(operations), которая принимает список строк operations и возвращает целое число — сумму всех очков, записанных в записи после применения всех операций.


Вам нужно вести учет очков в игре в бейсбол с особыми правилами.

В начале игры запись пуста.

Вам дан список строк operations, где operations[i] — это операция, которую нужно применить к записи, и она может быть одной из следующих:

  1. Целое число x:
    Добавить новое очко xxx в запись.
  2. '+':
    Добавить новое очко, равное сумме двух предыдущих очков.
  3. 'D':
    Добавить новое очко, равное удвоенному предыдущему очку.
  4. 'C':
    Аннулировать предыдущее очко, удалив его из записи.

Ваша задача — вернуть сумму всех очков, которые остались в записи после выполнения всех операций.

Гарантируется, что:

  • Все промежуточные и итоговые вычисления поместятся в 32-битное целое число.
  • Все операции являются допустимыми.

Примеры:

Пример 1:

Ввод:
ops = ["5", "2", "C", "D", "+"]

Вывод:
30

Объяснение:

  • "5" — добавляем 5, запись: [5].
  • "2" — добавляем 2, запись: [5, 2].
  • "C" — аннулируем последнее очко, запись: [5].
  • "D" — добавляем 2×5=102 \times 5 = 102×5=10, запись: [5, 10].
  • "+" — добавляем 5+10=155 + 10 = 155+10=15, запись: [5, 10, 15].
  • Сумма: 5+10+15=305 + 10 + 15 = 305+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=−42 \times -2 = -42×−2=−4, запись: [5, -2, -4].
  • "9" — добавляем 9, запись: [5, -2, -4, 9].
  • "+" — добавляем −4+9=5-4 + 9 = 5−4+9=5, запись: [5, -2, -4, 9, 5].
  • "+" — добавляем 9+5=149 + 5 = 149+5=14, запись: [5, -2, -4, 9, 5, 14].
  • Сумма: 5+(−2)+(−4)+9+5+14=275 + (-2) + (-4) + 9 + 5 + 14 = 275+(−2)+(−4)+9+5+14=27.

0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии