Le migliori 150 intervisteFacile

Valutare la notazione polacca inversa

Guida dettagliata e implementazione Python per il problema 'Valutazione della notazione polacca inversa'.

Dichiarazione del problema

Facile

Ti viene fornita una serie di stringhe tokens che rappresenta un'espressione aritmetica in notazione polacca inversa.

Valuta l'espressione e restituisce un numero intero che rappresenta il valore dell'espressione.

Tieni presente che:

- Gli operatori validi sono '+', '-', '*' e '/'.

- Ogni operando può essere un numero intero o un'altra espressione.

- La divisione tra due numeri interi viene sempre troncata verso lo zero.

- Non ci sarà alcuna divisione per zero.

- L'input rappresenta un'espressione aritmetica valida in notazione polacca inversa.

Scrivi una funzione evalRPN(tokens: List[str]) -> int.

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

Esempi

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?
Prendi in considerazione l'utilizzo di strutture dati specifiche dello stack come set o heap.
Edge Cases to Watch
  • Strutture di input vuote
  • Ingressi a elemento singolo
  • Grandi limiti numerici

Pronto a risolvere?

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

Apri nell'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

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.