Khi chúng tôi xuất bản một số phần mềm, chúng tôi gán một số phiên bản cho nó. Và người dùng có thể muốn cập nhật lên phiên bản mới nhất của một số phần mềm. Vì vậy, đây là lúc để tìm ra phiên bản nào mới hơn.
Đầu vào
Nhập hai số phiên bản dưới dạng chuỗi.
Trong bối cảnh của thử thách này, chúng tôi chỉ hỗ trợ các số phiên bản là một số chữ số được nối bằng dấu chấm.
- Số phiên bản là một chuỗi chỉ có thể chứa các chữ số (
0
~9
) và dấu chấm (.
). - Dấu chấm sẽ không phải là ký tự đầu tiên / cuối cùng của số phiên bản.
- Phải có một số chữ số giữa các dấu chấm. Không có hai dấu chấm có thể xuất hiện liên tục.
- Tất cả các số trong một số phiên bản sẽ ít hơn 2 16 .
Đầu ra
So sánh số phiên bản được nhập và đầu ra cho dù số thứ nhất lớn hơn / bằng / nhỏ hơn số thứ hai. Bạn được phép chọn một trong các bài thuyết trình sau:
- Sử dụng số dương / không / số âm, trong khi số 0 có nghĩa là bằng nhau;
- Sử dụng ba giá trị khác biệt không đổi;
So sánh
Bạn không cần phải thực hiện thuật toán được mô tả trong phần này. Việc gửi của bạn là hợp lệ miễn là nó dẫn đến cùng một đầu ra với thuật toán này.
- Số phiên bản là một số số thập phân được nối bằng dấu chấm. Trước tiên chúng tôi chia hai số phiên bản thành mảng số;
- Đệm phần cuối của mảng với các số 0 để làm cho chúng có cùng độ dài;
- So sánh từ mục đầu tiên đến mục cuối cùng:
- Nếu hai mục mảng khác nhau, số lớn hơn có nghĩa là số phiên bản lớn hơn
- Nếu chúng giống nhau, tiếp tục so sánh các mục sau đây;
- Nếu tất cả các mục trong mảng bằng nhau, hai phiên bản bằng nhau.
Tủ thử
version1 version2 result
2 1 >
1.0.0 1 =
1.0 1.0.0 =
1.2.42 1.2.41 >
1.1.56789 1.2.0 <
1.10 1.2 >
1.20 1.150 <
18.04 18.4 =
7.010 7.8 >
1.0.0.1.0 1.00.00.2 <
00.00.01 0.0.0.1 >
0.0.1 0.1 <
42.0 4.2.0 >
999.999 999.999.1 <
2018.08.1 2018.08 >