Top 150 des entrevuesFacile

Évaluer la notation polonaise inversée

Guide détaillé et implémentation de Python pour le problème « Évaluer la notation polonaise inversée ».

Énoncé du problème

Facile

Vous recevez un tableau de chaînes tokens qui représente une expression arithmétique en notation polonaise inversée.

Évaluez l’expression et renvoyez un entier qui représente la valeur de l’expression.

Notez que :

- Les opérateurs valides sont '+', '-', '*' et '/'.

- Chaque opérande peut être un entier ou une autre expression.

- La division entre deux entiers est toujours tronquée vers zéro.

- Il n'y aura pas de division par zéro.

- L'entrée représente une expression arithmétique valide en notation polonaise inversée.

Écrivez une fonction evalRPN(tokens: List[str]) -> int.

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

Exemples

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?
Pensez à utiliser des structures de données spécifiques à Stack, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.