題目:
比較兩個版本號 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 ...