สมมติว่าเรามีสตริงที่เก่ากว่าและสตริงที่ใหม่กว่า ทั้งสองแสดงเวอร์ชันแพ็คเกจซอฟต์แวร์ในรูปแบบ "major.minor.patch" เราต้องตรวจสอบว่าเวอร์ชันที่ใหม่กว่านั้นใหม่กว่าเวอร์ชันเก่าหรือไม่
ดังนั้น หากอินพุตเหมือนเก่า ="7.2.2", ใหม่กว่า ="7.3.1" ผลลัพธ์จะเป็น True
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- เก่ากว่า :=รายการหลัก รอง รหัสแพทช์ของเก่า
- ใหม่กว่า:=รายการหลัก รอง รหัสแพทช์ของใหม่กว่า
- สำหรับฉันอยู่ในช่วงขนาดของรายการที่เก่ากว่า ทำ
- :=เก่ากว่า[i], n :=ใหม่กว่า[i]
- ถ้า n> o แล้ว
- คืนค่า True
- มิฉะนั้น เมื่อ n
- คืนค่าเท็จ
- ถ้า n> o แล้ว
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution:
def solve(self, older, newer):
older = older.split('.')
newer=newer.split('.')
for o, n in zip(older, newer):
if int(n)>int(o):
return True
elif int(n)<int(o):
return False
return False
ob = Solution()
older = "7.2.2"
newer = "7.3.1"
print(ob.solve(older, newer)) อินพุต
"7.2.2", "7.3.1"
ผลลัพธ์
True