Cho một biểu thức infix, xác định xem tất cả các hằng có cùng loại không.
Các nhà khai thác sẽ chỉ bao gồm các nhà khai thác dyadic :+-/*
Chương trình hoặc hàm của bạn nên lấy một chuỗi biểu thức hợp lệ làm đầu vào và xuất giá trị trung thực nếu các hằng số trong biểu thức có cùng thời gian và ngược lại có giá trị falsey.
Biểu thức sẽ chỉ bao gồm các hằng và có thể chứa bất kỳ loại nào sau đây:
- Chuỗi, có dạng
"String"
(Luôn là dấu ngoặc kép, có thể để trống, không có ký tự thoát, có thể chứa bất kỳ văn bản ASCII nào) - Số nguyên, có dạng
14
(Luôn dương hoặc bằng 0) - Float, có dạng
7.3f
(Luôn dương hoặc bằng 0, luôn có thành phần thập phân, vd14.0f
) - Byte, có dạng
0x42
(0-255
, Luôn có 2 ký tự thập lục phân) - Boolean, có dạng
true
(true
hoặcfalse
, không phân biệt chữ hoa chữ thường)
Biểu thức sẽ không chứa dấu ngoặc đơn, vì thứ tự hoạt động không ảnh hưởng đến kiểu khi không có sự ép buộc kiểu nào.
Một hằng số không có toán tử là một biểu thức hợp lệ.
Một biểu thức trống không phải là một biểu thức hợp lệ.
Bạn có thể giả sử rằng chuỗi biểu thức không chứa khoảng trắng bên ngoài chuỗi ký tự.
Lưu ý: Ngoài ra, bạn có thể cho rằng sẽ luôn có khoảng cách giữa các hằng số và toán tử, như được thấy trong các testcase. Nếu bạn đưa ra giả định này, vui lòng ghi rõ như vậy trong câu trả lời của bạn
Bạn không phải xử lý các biểu thức không hợp lệ như 1 +
.
Chấm điểm
Đây là môn đánh gôn , vì vậy ít byte nhất sẽ thắng!
Các trường hợp thử nghiệm
(Khoảng trắng được thêm vào để dễ đọc)
2 + 3
True
"Hello" / "World"
True
true * false
True
"Hello" + 4
False
"Hello" + "4"
True
3 + 2.4f / 8
False
0xff * 0xff
True
0xff + 2
False
6
True
" " + ""
True
"4 + false" + "word"
True
truE+fALSe
). Nếu không tôi có thể lưu hai byte trong giải pháp của mình.