华为OD机试题解:获取最大软件版本号
题目
Maven 版本号定义,<主版本>.<次版本>.<增量版本>-<里程碑版本>
举例 3.1.4-beta
其中,主版本和次版本都是必须的,主版本,次版本,增量版本由多位数字组成,可能包含前导零,里程碑版本由字符串组成。
<主版本>.<次版本>.<增量版本>
:基于数字比较
里程碑版本
:基于字符串比较,采用字典序
比较版本号时,按从左到右的顺序依次比较。基于数字比较, 只需比较忽略任何前导零后的整数值 。
输入 2 个版本号,输出最大版本号
输入
输入 2 个版本号,换行分割,每个版本的最大长度小于 50
输出
版本号相同时输出第一个输入版本号
备注
主版本,次版本,增量版本:基于字符串比较,比如
1.5 > 1.4 > 1.3.11 > 1.3.9
里程碑版本:基于字符串比较 比如
1.2-beta-3 > 1.2-beta-11
示例一
输入
2.5.1-C
1.4.2-D
输出
2.5.1-C
说明
主版本,数字2
大于1
示例二
输入
1.3.11-S2
1.3.11-S13
输出
1.3.11-S2
说明
里程碑版本,S2
大于S13
示例三
输入
1.05.1
1.5.01
输出
1.05.1
说明
版本号相同,输出第一个版本号
示例四
输入
1.5
1.5.0
输出
1.5.0
说明
主次相同,存在增量版本大于不存在
示例五
输入
1.5.1-A
1.5.1-a
输出
1.5.1-a
说明
里程碑版