【编程题目 |200分】比较两个版本号的大小【2021 H1, H2 考试题】


时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++262144K,其他语言524288K

64bit IO Format:%lld


本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,

编码后请点击”保存并调试“按钮进行代码提交。


题目描述

【比较两个版本号的大小】

输入两个版本号 version1 和 version2,每个版本号由多个子版本号组成。

子版本号之间由 “.” 隔开,由大小写字母、数字组成,并且至少有一个字符。

按从左到右的顺序比较子版本号,比较规则如下:

子版本号前面的0不参与比较,比如 001 和 1 是相等的。

小写字母 > 大写字母 > 数字

空字符和0相等,比如 1 和 1.0 相等

比较结果

如果 version1 > version2 ,返回 1

如果 version1 < version2 ,返回-1

其他情况返回0

示例1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

5.2
5.1a

输出

1

示例2 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

5.6.1

5.6.2a

输出

-1

示例3 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

5.6.8.a

5.6.8.0a

输出

0


代码实现


JAVA


import java.util.Scanner;

public class VersionNumber {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String v1 = in.next();
        String v2 = in.next();

        String[] arr1 = v1.split("\\.");
        String[] arr2 = v2.split("\\.");

        int len1 = arr1.length;
        int len2 = arr2.length;

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python


import sys

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看