
calculate2
Cho một chuỗi s
chứa một biểu thức chỉ chứa:
- Các toán hạng
- Các toán tử
"+-*/%"
- Các dấu ngoặc
"()"
Các thành phần này được phân cách bằng dấu cách. Hãy trả về một chuỗi chứa giá trị của biểu thức(làm tròn đến chữ số thập phân thứ 2
). Nếu không thể thực hiện trả về "Math error"
. Biểu thức được tính theo quy tắc sau:
- Nhân chia trước, cộng trừ sau.
- Trong ngoặc trước, ngoài ngoặc sau.
Ví dụ:
Với s = "6 + 3"
thì calculate2(s) = "9"
Với s = "9 + 3 * 2"
thì calculate2(s) = "15"
Với s = "( 6 + 4 ) * 3"
thì calculate2(s) = "30"
Đầu vào/Đầu ra:
- [Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.
- [Đầu vào] String
5 ≤ s.length ≤ 30
- [Đầu ra] String
Kết quả của phép tính.
Post Comment