【华为OD机试真题 新系统】1066、语义化版本号对比 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

📅 2026/8/3 21:04:49 👁️ 阅读次数 📝 编程学习
【华为OD机试真题 新系统】1066、语义化版本号对比 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

文章目录

    • 一、题目
      • 🎃题目描述
      • 🎃输入输出
      • 🎃样例1
      • 🎃样例2
      • 🎃样例3
      • 🎃样例4
    • 二、代码与思路参考
      • 🎈C++语言思路
        • 🎉C++代码
      • 🎈Java语言思路
        • 🎉Java代码
      • 🎈Python语言思路
        • 🎉Python代码
      • 🎈C语言思路
        • 🎉 C语言代码
      • 🎈JS语言思路
        • 🎉JS代码
  • 作者:KJ.JK

订阅本专栏后即可解锁在线OJ刷题权限
 
🍂专栏介绍:最新的华为OD机试题目总结,使用C++、Java、Python、C语言、JS五种语言进行解答,每个题目的思路分析都非常详细,支持在线OJ评测刷题!!!!订阅后获取权限,新增图解思路,问题解疑,多样例测试,超过百字的思路参考解析,持续更新,代码仅供学习参考
 
题库学习: 华为OD技术面试手撕真题


一、题目


🎃题目描述

当前有一组版本号列表信息,单个版本号格式为:Major.Minor.Patch-可选先行版+可选构建信息,具体字段如下:
 

  • Major.Minor.Patch:为三个非负整数,禁止前导零;
  • 先行版和构建信息:可选段信息,由字母数字和符号(. 和 -)组成;
     

请实现语义化版本号比较器,对输入版本号字符串列表按下面规则处理,返回最大的版本号(若存在相等最大版本号,则返回第一个版本号),若存在不合规格式则返回空字符串。
&nbs