Phỏng vấn top 150Dễ dàng

Đánh giá ký hiệu Ba Lan ngược

Hướng dẫn chi tiết và cách triển khai Python cho bài toán 'Đánh giá ký hiệu tiếng Ba Lan ngược'.

Tuyên bố vấn đề

Dễ dàng

Bạn được cung cấp một mảng các chuỗi tokens biểu thị một biểu thức số học trong Ký hiệu tiếng Ba Lan ngược.

Đánh giá biểu thức và trả về một số nguyên đại diện cho giá trị của biểu thức.

Lưu ý rằng:

- Các toán tử hợp lệ là '+', '-', '*' và '/'.

- Mỗi toán hạng có thể là một số nguyên hoặc một biểu thức khác.

- Phép chia giữa hai số nguyên luôn rút gọn về 0.

- Sẽ không có phép chia nào cho số 0.

- Đầu vào biểu thị một biểu thức số học hợp lệ theo ký hiệu đánh bóng ngược.

Viết hàm evalRPN(tokens: List[str]) -> int.

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

Ví dụ

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?
Hãy cân nhắc sử dụng các cấu trúc dữ liệu dành riêng cho ngăn xếp như tập hợp hoặc đống.
Edge Cases to Watch
  • Cấu trúc đầu vào trống
  • Đầu vào phần tử đơn
  • Giới hạn số lớn

Sẵn sàng để giải quyết?

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

Mở trong Trình chỉnh sửa
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

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.