版本管理
华为OD机考2025年5月9号切换正式机考题库为2025B卷,现在刷2025B卷真题,通过率将大大提高,刷得越多,通过率越高。专栏所有题目提供详细的思路讲解,多语言(C++、JAVA、Python、GO、JavaScript)源码实现,并提供
在线OJ系统在线刷题服务。
华为OD机试2025B卷真题题库目录|机考题库 + 算法考点详解
题目描述
在软件版本管理中,版本号由点分割的数字组成,例如1.2.3和2.0.现在,你需要编写一个函数,计算两个版本号之间的可用版本号个数。这里的可用版本号指的是所有满足version1<x<version2的版本号x的个数。若version1 >= version2,返回0.
输入描述
输入两个字符串version1和version2,均遵循一下规定:
- 版本号由数字和点组成,且至少包含一个数字。
- 点不会作为版本号的开头或结尾,也不会连续出现。
- 每个数字部分的数值忽略前导零(例如1.01和1.001视为相同)
- 两个字符串中间以英文逗号分割
输出描述
输出一个整数,表示可用版本号的个数。具体规则如下:
- 如果
version1 >= version2,返回0 - 否则,找到第一个不同的版本号段,假设在位置i,version1的该段值为v1,version2的该段值为v2.可用版本号的个数为v2-v1-1。
- 如果第一个不同段之后的版本段在version2中不全为0,则返回0.
用例1
输入
1.2,1.4
输出
1
说明
不同段中version1 为 2 ,version2 为4,4-2-1 = 1