当前位置:网站首页>165.比较版本号
165.比较版本号
2022-08-02 05:03:00 【rananie】
165.比较版本号
题目
给你两个版本号 version1 和 version2 ,请你比较它们。
版本号由一个或多个修订号组成,各修订号由一个 ‘.’ 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33 和 0.1 都是有效的版本号。
比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较 忽略任何前导零后的整数值 。也就是说,修订号 1 和修订号 001 相等 。如果版本号没有指定某个下标处的修订号,则该修订号视为 0 。例如,版本 1.0 小于版本 1.1 ,因为它们下标为 0 的修订号相同,而下标为 1 的修订号分别为 0 和 1 ,0 < 1 。
返回规则如下:
- 如果 version1 > version2 返回 1,
- 如果 version1 < version2 返回 -1,
除此之外返回 0。
示例 1:
输入:version1 = “1.01”, version2 = “1.001”
输出:0
解释:忽略前导零,“01” 和 “001” 都表示相同的整数 “1”
示例 2:
输入:version1 = “1.0”, version2 = “1.0.0”
输出:0
解释:version1 没有指定下标为 2 的修订号,即视为 “0”
示例 3:
输入:version1 = “0.1”, version2 = “1.1”
输出:-1
解释:version1 中下标为 0 的修订号是 “0”,version2 中下标为 0 的修订号是 “1” 。0 < 1,所以 version1 < version2
提示:
1 <= version1.length, version2.length <= 500
version1 和 version2 仅包含数字和 ‘.’
version1 和 version2 都是 有效版本号
version1 和 version2 的所有修订号都可以存储在 32 位整数 中
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/compare-version-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题解
比较的是版本号
1.01 和 1.001 .算是版本号的划分?x.y.z 依次从x开始比较,如果前面比较出结果就不用比较后面的结果。x、y、z的前面的0可以忽略。
function compareVersion(version1: string, version2: string): number {
let ver1 = version1.split('.');
let ver2 = version2.split('.');
let len = Math.max(ver1.length,ver2.length);
for(let i=0 ;i<len ;i++){
//parseInt('001') = 1;
let a = i<ver1.length ? parseInt(ver1[i]) : 0;
let b = i<ver2.length ? parseInt(ver2[i]) : 0;
if(a<b)return -1;
if(a>b)return 1;
}
return 0;
};
边栏推荐
- MySQL如何对SQL做prepare预处理(解决IN查询SQL预处理仅能查询出一条记录的问题)
- MySQL 的 limit 分页查询及性能问题
- navicat connects to MySQL and reports an error: 1045 - Access denied for user 'root'@'localhost' (using password YES)
- MySQL String Concatenation - Various String Concatenation Practical Cases
- Mysql实现乐观锁
- matlab simulink 飞机飞行状态控制
- 一线大厂软件测试流程(思维导图)详解
- 认识CAN光纤转换器的光纤接口和配套光纤线缆
- 迅为RK3568开发板编译Buildroot-全自动编译
- JDBC revisited
猜你喜欢

"Digital reconstruction of the system, getting the CEO is the first step"

MySQL导入sql文件的三种方法

MySQL 灵魂 16 问,你能撑到第几问?

pg数据库报错问题,有懂的吗
[email protected](using passwordYES)"/>Navicat报错:1045-Access denied for user [email protected](using passwordYES)

JDBC revisited

分享|5G+智慧工业园区解决方案(附PDF)

The original question on the two sides of the automatic test of the byte beating (arranged according to the recording) is real and effective 26

mysql 8.0.28版本安装配置方法图文教程

Go语言之interface详解
随机推荐
ApiPost 真香真强大,是时候丢掉 Postman、Swagger 了
apifox介绍及使用(1)。
MySQL 8.0.29 设置和修改默认密码
Matlab论文插图绘制模板第41期—气泡图(bubblechart)
Android studio connects to MySQL and completes simple login and registration functions
Mysql子查询关键字的使用(exists)
Android Studio 实现登录注册-源代码 (连接MySql数据库)
"Digital reconstruction of the system, getting the CEO is the first step"
navicat无法连接mysql超详细处理方法
本周大新闻|苹果MR已进行Pre-EVT测试,Quest 2涨价100美元
LeetCode刷题系列 -- 787. K 站中转内最便宜的航班
MySQL 字符串拼接 - 多种字符串拼接实战案例
Go语学习笔记 - 处理超时问题 - Context使用 从零开始Go语言
MP更新操作方式
Detailed explanation of mysql stored procedure
【MLT】MLT多媒体框架生产消费架构解析(一)
Towhee 每周模型
100 latest software testing interview questions in 2022, summary of common interview questions and answers
MYSQL 唯一约束
Mysql implements optimistic locking