जब हम कुछ सॉफ़्टवेयर प्रकाशित करते हैं, तो हम उसे एक संस्करण संख्या प्रदान करते हैं। और उपयोगकर्ता कुछ सॉफ़्टवेयर के नवीनतम संस्करण में अपडेट करना चाह सकते हैं। इसलिए, यह पता लगाने का समय है कि कौन सा संस्करण नया होना चाहिए।
इनपुट
तार के रूप में इनपुट दो संस्करण संख्या।
इस चुनौती के संदर्भ में, हम केवल संस्करण संख्याओं का समर्थन करते हैं जो डॉट्स द्वारा शामिल किए गए कुछ अंक हैं।
- एक संस्करण संख्या एक स्ट्रिंग है जिसमें केवल अंक (
0
~9
) और बिंदु (.
) हो सकते हैं। - डॉट्स किसी संस्करण संख्या का पहला / अंतिम वर्ण नहीं होगा।
- डॉट्स के बीच कुछ अंक होने चाहिए। कोई भी दो बिंदु लगातार प्रकट नहीं हो सकते हैं।
- एक संस्करण संख्या में सभी संख्या 2 16 से कम होगी ।
उत्पादन
इनपुट किए गए संस्करण संख्याओं और आउटपुट की तुलना करें कि क्या पहले एक से अधिक / बराबर / दूसरे से कम है। आपको निम्नलिखित प्रस्तुतियों में से एक को चुनने की अनुमति है:
- सकारात्मक संख्या / शून्य / ऋणात्मक संख्या का उपयोग करें, जबकि शून्य का अर्थ समान है;
- तीन निरंतर अलग-अलग मूल्यों का उपयोग करें;
की तुलना
आपको इस अनुभाग में वर्णित एल्गोरिदम को लागू करने की आवश्यकता नहीं है। आपका सबमिशन तब तक मान्य है जब तक कि यह इस एल्गोरिदम के साथ एक ही आउटपुट देता है।
- संस्करण संख्याएँ कुछ दशमलव संख्याएँ हैं जो डॉट्स से जुड़ती हैं। हम पहले संख्याओं के सरणियों के लिए दो संस्करण संख्याओं को विभाजित करते हैं;
- शून्य के साथ सरणियों के अंत को पैडिंग करना उनकी लंबाई समान करना;
- पहले आइटम की तुलना पिछले एक से करें:
- यदि दो ऐरे आइटम अलग-अलग हैं, तो अधिक संख्या का अर्थ है अधिक से अधिक संस्करण संख्या
- यदि वे समान हैं, तो निम्नलिखित वस्तुओं की तुलना करना जारी रखें;
- यदि सरणी में सभी आइटम समान हैं, तो दो संस्करण समान हैं।
परीक्षण के मामलों
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 >