实现 compare 方法,比较两个版本号的大小,版本号规则 x.y.z,xyz 均为大于等于 0 的整数 如果 version1 > version2 返回1 如果version1 < version2,返回 -1 相等返回 0
时间: 2024-04-29 12:23:50 浏览: 63
示例:
输入:version1 = "1.2.3", version2 = "1.2.4"
输出:-1
输入:version1 = "1.2.3", version2 = "1.2.3"
输出:0
输入:version1 = "1.2.4", version2 = "1.2.3"
输出:1
代码实现:
```python
class Solution:
def compare(self, version1: str, version2: str) -> int:
v1 = version1.split('.')
v2 = version2.split('.')
n1, n2 = len(v1), len(v2)
for i in range(max(n1, n2)):
i1 = int(v1[i]) if i < n1 else 0
i2 = int(v2[i]) if i < n2 else 0
if i1 != i2:
return 1 if i1 > i2 else -1
return 0
```
相关问题
利用js实现 compare 方法,比较两个版本号的大小,版本号规则 x.y.z,xyz 均为大于等于 0 的整数 如果 version1 > version2 返回1 如果version1 < version2,返回 -1 相等返回 0
好的,我可以为您解答这个问题。请看下面的 JS 代码实现:
```javascript
function compareVersion(version1, version2) {
// 将版本号用 '.' 分隔,存入数组中
const arr1 = version1.split('.');
const arr2 = version2.split('.');
// 比较每个版本号的 x、y、z 部分,按顺序从高到低比较
for (let i = 0; i < 3; i++) {
const num1 = parseInt(arr1[i]) || 0;
const num2 = parseInt(arr2[i]) || 0;
if (num1 > num2) {
return 1;
} else if (num1 < num2) {
return -1;
}
}
// 版本号相等,返回0
return 0;
}
```
您可以将这段代码复制到 JS 代码编辑器中,进行测试。请注意,您需要在调用 compareVersion 方法时,传入两个版本号字符串作为参数。例如:
```javascript
compareVersion("1.0.2", "1.2.3");
```
这将返回 -1,因为第一个版本号小于第二个版本号。希望以上代码可以帮到您!
vb.net DateTime.Compare:比较两个日期时间的大小关系
在 VB.NET 中,可以使用 DateTime.Compare 方法比较两个日期时间的大小关系。这个方法接受两个 DateTime 类型的参数,分别表示要比较的两个日期时间。它会返回一个整数,表示两个日期时间的大小关系:
- 如果第一个日期时间早于第二个日期时间,返回 -1。
- 如果两个日期时间相同,返回 0。
- 如果第一个日期时间晚于第二个日期时间,返回 1。
下面是一个示例代码:
```
Dim dt1 As DateTime = DateTime.Now
Dim dt2 As DateTime = DateTime.Now.AddDays(1)
Dim result As Integer = DateTime.Compare(dt1, dt2)
If result < 0 Then
Console.WriteLine("The first date is earlier than the second date.")
ElseIf result = 0 Then
Console.WriteLine("The two dates are the same.")
ElseIf result > 0 Then
Console.WriteLine("The first date is later than the second date.")
End If
```
这段代码将获取当前日期时间作为第一个日期时间,将当前日期时间加一天作为第二个日期时间。然后,它使用 DateTime.Compare 方法比较这两个日期时间的大小关系,并输出相应的信息到控制台。
阅读全文