Bazı yazılımları yayınladığımızda, ona bir sürüm numarası veriyoruz. Ve kullanıcılar bazı yazılımların en son sürümlerine güncelleme yapmak isteyebilirler. Öyleyse, hangi sürümün daha yeni olması gerektiğini bulma zamanı.
Giriş
Dizge olarak iki sürüm numarası girin.
Bu zorluk bağlamında, yalnızca noktalarla birleştirilen bazı basamaklar olan sürüm numaralarını destekliyoruz.
- Sürüm numarası, yalnızca rakamları (
0
~9
) ve dots (.
) içerebilen bir dizedir . - Noktalar, sürüm numarasının ilk / son karakteri olmaz.
- Noktalar arasında bazı rakamlar olmalıdır. Sürekli olarak iki nokta görünmeyebilir.
- Sürüm numarasındaki tüm numaralar 2 16'dan küçük olur .
Çıktı
Girilen sürüm numaralarını karşılaştırın ve birincisinin ikinciden eşit / daha küçük olup olmadığına bakın. Aşağıdaki sunumlardan birini seçmenize izin verilir:
- Pozitif sayı / sıfır / negatif sayı kullanırken, sıfır eşit demektir;
- Üç sabit farklı değer kullanın;
karşılaştırma
Bu bölümde açıklanan algoritmayı uygulamanız gerekmez. Gönderiminiz, bu algoritma ile aynı çıktıyla sonuçlandığı sürece geçerlidir.
- Sürüm numaraları, noktalarla birleştirilen bazı ondalık sayılardır. İlk önce iki versiyon numarasını sayı dizisine böldük;
- Dizilerin sonlarının aynı uzunlukta olmasını sağlamak için sıfırlarla doldurulması;
- İlk maddeden sonuncuyla karşılaştırın:
- İki dizi öğesi farklıysa, daha büyük sayı daha büyük sürüm numarası anlamına gelir.
- Aynılarsa, aşağıdakileri karşılaştırmaya devam edin;
- Dizideki tüm öğeler eşitse, iki sürüm eşittir.
testcases
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 >