Kiedy publikujemy oprogramowanie, przypisujemy mu numer wersji. Użytkownicy mogą chcieć zaktualizować oprogramowanie do najnowszej wersji. Czas więc dowiedzieć się, która wersja powinna być nowsza.
Wkład
Wprowadź dwa numery wersji jako ciągi.
W kontekście tego wyzwania obsługujemy tylko numery wersji, które są niektórymi cyframi połączonymi kropkami.
- Numer wersji to ciąg znaków, który może zawierać tylko cyfry (
0~9) i kropki (.). - Kropki nie byłyby pierwszym / ostatnim znakiem numeru wersji.
- Pomiędzy kropkami muszą znajdować się cyfry. Nie mogą pojawiać się dwie kropki w sposób ciągły.
- Wszystkie liczby w numerze wersji byłyby mniejsze niż 2 16 .
Wydajność
Porównaj wprowadzone numery wersji i wypisz, czy pierwszy jest większy niż / jest równy / mniejszy niż drugi. Możesz wybrać jedną z następujących prezentacji:
- Użyj liczby dodatniej / zera / liczby ujemnej, podczas gdy zero oznacza równość;
- Użyj trzech stałych odrębnych wartości;
Porównywanie
Nie musisz implementować algorytmu opisanego w tej sekcji. Twoje zgłoszenie jest ważne, o ile daje ten sam wynik w przypadku tego algorytmu.
- Numery wersji to niektóre liczby dziesiętne połączone kropkami. Najpierw dzielimy dwa numery wersji na tablice liczb;
- Wypełnianie końcówek tablic zerami, aby miały taką samą długość;
- Porównaj od pierwszego elementu do ostatniego:
- Jeśli dwa elementy tablicy różnią się, większa liczba oznacza większy numer wersji
- Jeśli są takie same, kontynuuj porównywanie następujących pozycji;
- Jeśli wszystkie elementy w tablicy są równe, obie wersje są równe.
Przypadki testowe
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 >