Ctrl K

Постфиксный калькулятор

Средняя
Арифметическое выражение записано в постфиксной форме (обратная польская запись): сначала идут операнды, а за ними — оператор. Например, 3 4 + означает 3 + 4, а 5 1 2 + * означает 5 · (1 + 2). Дан список строк tokens — элементы такой записи по порядку. Каждый элемент — либо целое число, либо один из операторов +, -, *, /. Вычислите выражение и верните результат. Деление целочисленное, дробная часть отбрасывается в сторону нуля (то есть 7 / -2 = -3). Запись всегда корректна, на ноль делить не придётся, а и итог, и все промежуточные значения помещаются в 32-битное знаковое целое.
Пример 1
tokens=["7", "2", "-", "4", "*"] → 20

Сначала 7 - 2 = 5, затем 5 * 4 = 20.

Пример 2
tokens=["9", "-4", "/", "3", "+"] → 1

9 / -4 = -2.25, отбрасываем дробную часть к нулю — получается -2. Затем -2 + 3 = 1.

Пример 3
tokens=["42"] → 42
Ограничения
  • 1 ≤ len(tokens) ≤ 10⁵
  • Каждый tokens[i] — оператор +, -, *, / или целое число от -200 до 200
  • Все промежуточные значения лежат в диапазоне [-2³¹, 2³¹ - 1]
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКогда роботы догонят друг друга СложнаяПроверка контрольной по арифметике СложнаяСлияние соседей с общим делителем СложнаяПовернуть квадрат по часовой СредняяПрокрутка массива вправо Средняя
загружаем Python…
Вход
tokens=["7", "2", "-", "4", "*"]
Ожидается
20

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 83 теста на сервере, включая скрытые.