当前位置:网站首页>165. 比较版本号
165. 比较版本号
2022-07-01 03:23:00 【Sun_Sky_Sea】
165. 比较版本号
原始题目链接:https://leetcode.cn/problems/compare-version-numbers/
给你两个版本号 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 位整数 中
解题思路:
字符串每个位置进行比对
代码实现:
class Solution:
def compareVersion(self, version1: str, version2: str) -> int:
from itertools import zip_longest
for z1, z2 in zip_longest(version1.split('.'), version2.split('.'), fillvalue=0):
# 解析后比对两个版本号对应位置的值
x, y = int(z1), int(z2)
if x != y:
return 1 if x > y else -1
return 0
参考文献:
https://leetcode.cn/problems/compare-version-numbers/solution/bi-jiao-ban-ben-hao-by-leetcode-solution-k6wi/
边栏推荐
- IPv4和IPv6、局域网和广域网、网关、公网IP和私有IP、IP地址、子网掩码、网段、网络号、主机号、网络地址、主机地址以及ip段/数字-如192.168.0.1/24是什么意思?
- 【伸手党福利】开发人员重装系统顺序
- 深度学习中的随机种子torch.manual_seed(number)、torch.cuda.manual_seed(number)
- Data exchange JSON
- 409. 最长回文串
- 整合阿里云短信的问题:无法从静态上下文中引用非静态方法
- Feature Pyramid Networks for Object Detection论文理解
- Asgnet paper and code interpretation 2
- pytorch训练深度学习网络设置cuda指定的GPU可见
- Split(), split(), slice(), can't you tell?
猜你喜欢

pytorch训练深度学习网络设置cuda指定的GPU可见
![5. [WebGIS practice] software operation - service release and permission management](/img/5d/070e207bd96e60ba1846d644d4fb54.png)
5. [WebGIS practice] software operation - service release and permission management

Filter

LeetCode 144二叉树的前序遍历、LeetCode 114二叉树展开为链表

Take you through a circuit board, from design to production (dry goods)

MFC窗口滚动条用法

jeecgboot输出日志,@Slf4j的使用方法

Asgnet paper and code interpretation 2

pytorch nn.AdaptiveAvgPool2d(1)

过滤器 Filter
随机推荐
Appium自动化测试基础--补充:C/S架构和B/S架构说明
谷粒学院微信扫码登录过程记录以及bug解决
ECMAScript 6.0
监听器 Listener
Detailed explanation of ES6 deconstruction grammar
LeetCode 31下一个排列、LeetCode 64最小路径和、LeetCode 62不同路径、LeetCode 78子集、LeetCode 33搜索旋转排序数组(修改二分法)
How to use hybrid format to output ISO files? isohybrid:command not found
Ultimate dolls 2.0 | encapsulation of cloud native delivery
Error: plug ins declaring extensions or extension points must set the singleton directive to true
数据交换 JSON
Nacos
E15 solution for cx5120 controlling Huichuan is620n servo error
二叉树神级遍历:Morris遍历
【EI会议】2022年第三届纳米材料与纳米技术国际会议(NanoMT 2022)
【伸手党福利】JSONObject转String保留空字段
【JPCS出版】2022年第三届控制理论与应用国际会议(ICoCTA 2022)
Feature Pyramid Networks for Object Detection论文理解
Random seed torch in deep learning manual_ seed(number)、torch. cuda. manual_ seed(number)
389. 找不同
IPv4和IPv6、局域网和广域网、网关、公网IP和私有IP、IP地址、子网掩码、网段、网络号、主机号、网络地址、主机地址以及ip段/数字-如192.168.0.1/24是什么意思?