Entrevista a los 150 mejoresfácil

Evaluar la notación polaca inversa

Guía detallada e implementación Python para el problema 'Evaluar notación polaca inversa'.

Declaración del problema

fácil

Se le proporciona una matriz de cadenas tokens que representa una expresión aritmética en notación polaca inversa.

Evalúe la expresión y devuelva un número entero que represente el valor de la expresión.

Tenga en cuenta que:

- Los operadores válidos son '+', '-', '*' y '/'.

- Cada operando puede ser un número entero u otra expresión.

- La división entre dos números enteros siempre se trunca hacia cero.

- No habrá división entre cero.

- La entrada representa una expresión aritmética válida en notación polaca inversa.

Escribe una función evalRPN(tokens: List[str]) -> int.

Restricciones
  • 1 <= len(tokens) <= 10^4
  • tokens[i] is either an operator (+, -, *, /) or an integer in the range [-200, 200]

Ejemplos

Example 1
Input
tokens = ["2", "1", "+", "3", "*"]
Output
9
Explanation

((2 + 1) * 3) = 9.

Example 2
Input
tokens = ["4", "13", "5", "/", "+"]
Output
6
Explanation

(4 + (13 / 5)) = (4 + 2) = 6. Note 13/5 truncates to 2.

Example 3
Input
tokens = ["10", "6", "9", "3", "+", "-11", "*", "/", "*", "17", "+", "5", "+"]
Output
22
Explanation

((10 * (6 / ((9 + 3) * -11))) + 17 + 5) = 22.

Need a Hint?
Considere la posibilidad de utilizar estructuras de datos específicas de la pila, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Abrir en el editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.