比較版本號

2021-09-28 12:39:00 字數 1025 閱讀 2123

題目:

比較兩個版本號 version1 和 version2。

如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。

你可以假設版本字串非空,並且只包含數字和 . 字元。

. 字元不代表小數點,而是用於分隔數字序列。

例如,2.5 不是「兩個半」,也不是「差一半到三」,而是第二版中的第五個小版本。

示例 1:

輸入: 

version1

= "0.1", 

version2

= "1.1"

輸出: -1

示例 2:

輸入: 

version1

= "1.0.1", 

version2

= "1"

輸出: 1

示例 3:

輸入: 

version1

= "7.5.2.4", 

version2

= "7.5.3"

輸出: -1

思路:按照0分割,依次比較不同位數的數字,c為位數指標,比較c兩個版本號在c位置時的數字大小,當其中乙個版本號結束,另乙個未結束,補零,當兩個都結束,則版本號相同

def main(ver1, ver2):

ver1 = ver1.split('.')

ver2 = ver2.split('.')

c = 0

while true:

if c == len(ver1) and c == len(ver2):

return 0

if c == len(ver1):

if c == len(ver2):

if int(ver1[c]) > int(ver2[c]):

return 1

elif int(ver1[c]) < int(ver2[c]):

return -1

c += 1

參考:

比較版本號

比較兩個版本號 version1 和 version2。如果 version1 version2 返回 1,如果 version1 version2 返回 1,除此之外返回 0。你可以假設版本字串非空,並且只包含數字和 字元。字元不代表小數點,而是用於分隔數字序列。例如,2.5 不是 兩個半 也不是...

比較版本號

比較版本號 比較兩個版本號 version1 和 version2。如果 version1 version2 返回1,如果 version1 version2 返回 1,除此之外返回0。你可以假設版本字串非空,並且只包含數字和.字元。字元不代表小數點,而是用於分隔數字序列。例如,2.5不是 兩個半 ...

版本號比較方法

在開發中大家應該會遇到版本公升級的問題,那麼怎麼對比版本號呢?特別是有的時候版本號長度還不等 如 高版本號為6.8.0 而本地版本號為6.7.0.1 如果是一般的位數相等的版本號解決方法可以是 1.去掉版本號中的 然後轉成float等數字進行對比即可。2.迴圈挨個字元對比,遇到不等的即可break ...