比较Python中的版本号
我们可以假定版本号的每个级别的默认修订号为0。例如,版本号3.4的第一级和第二级修订号的修订号分别为3和4。其第三级和第四级修订号均为0。
因此,如果输入类似于version1=“1.0.1”和version2=“1”,则它将返回+1。
为了解决这个问题,我们将遵循以下步骤-
version1_arr=版本1的数字数组,用点分隔
version2_arr=版本2的数字数组,用点号分隔
对于范围在0到version1_arr的最大值和version2_arr的最大值的范围内的i-
v1:=version1_arr[i],如果i<version1_arr的大小,否则为0
v2:=version2_arr[i],如果i<version2_arr的大小,否则为0
如果v1>v2,则返回1,否则,当v1<v2时,返回-1
返回0
范例(Python)
让我们看下面的实现以更好地理解-
class Solution: def compareVersion(self, version1, version2): versions1 = [int(v) for v in version1.split(".")] versions2 = [int(v) for v in version2.split(".")] for i in range(max(len(versions1),len(versions2))): v1 = versions1[i] if i < len(versions1) else 0 v2 = versions2[i] if i < len(versions2) else 0 if v1 > v2: return 1 elif v1 <v2: return -1 return 0 ob1 = Solution()print(ob1.compareVersion("1.0.1","1.0"))
输入值
"1.0.1" "1.0"
输出结果
1