เมื่อเราเผยแพร่ซอฟต์แวร์บางอย่างเราจะกำหนดหมายเลขเวอร์ชันให้กับซอฟต์แวร์นั้น และผู้ใช้อาจต้องการอัปเดตซอฟต์แวร์บางเวอร์ชันล่าสุด ดังนั้นจึงเป็นเวลาที่จะค้นหาว่าเวอร์ชันใดควรเป็นรุ่นใหม่
อินพุต
ป้อนหมายเลขรุ่นสองเป็นสตริง
ในบริบทของการท้าทายนี้เราสนับสนุนเฉพาะหมายเลขรุ่นที่มีตัวเลขบางตัวเชื่อมต่อกันด้วยจุด
- หมายเลขรุ่นคือสตริงซึ่งอาจมีตัวเลข (
0
~9
) และจุด (.
) เท่านั้น - จุดจะไม่เป็นตัวอักษรแรก / ตัวสุดท้ายของหมายเลขรุ่น
- จะต้องมีตัวเลขบางตัวระหว่างจุด อาจไม่มีจุดสองจุดต่อเนื่อง
- ตัวเลขทั้งหมดในหมายเลขรุ่นจะน้อยกว่า 2 16
เอาท์พุต
เปรียบเทียบหมายเลขรุ่นที่ป้อนเข้าและเอาท์พุทว่าหมายเลขแรกมากกว่า / เท่ากับ / น้อยกว่าหมายเลขที่สอง คุณได้รับอนุญาตให้เลือกหนึ่งในงานนำเสนอต่อไปนี้:
- ใช้จำนวนบวก / ศูนย์ / จำนวนลบในขณะที่ศูนย์หมายถึงเท่ากับ;
- ใช้ค่าที่แตกต่างคงที่สามค่า
เปรียบเทียบ
คุณไม่จำเป็นต้องใช้อัลกอริทึมที่อธิบายไว้ในส่วนนี้ ข้อมูลที่คุณส่งนั้นถูกต้องตราบเท่าที่ผลลัพธ์เป็นผลลัพธ์เดียวกันกับอัลกอริทึมนี้
- หมายเลขเวอร์ชันคือตัวเลขทศนิยมที่เชื่อมต่อกันด้วยจุด ก่อนอื่นเราแบ่งตัวเลขสองรุ่นเป็นอาร์เรย์ของตัวเลข
- การเติมจุดสิ้นสุดของอาร์เรย์ด้วยศูนย์เพื่อทำให้มีความยาวเท่ากัน
- เปรียบเทียบจากรายการแรกกับรายการสุดท้าย:
- หากรายการอาร์เรย์ทั้งสองแตกต่างกันจำนวนที่มากขึ้นหมายถึงหมายเลขรุ่นที่มากขึ้น
- หากเหมือนกันให้เปรียบเทียบรายการต่อไปนี้ต่อไป
- หากรายการทั้งหมดในอาร์เรย์มีค่าเท่ากันทั้งสองรุ่นจะเท่ากัน
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 >