Leetcode 165: Compare Version Numbers
来源:互联网 发布:游戏常用算法 编辑:程序博客网 时间:2024/05/16 00:43
Compare two version numbers version1 and version2.
If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0.
You may assume that the version strings are non-empty and contain only digits and the .
character.
The .
character does not represent a decimal point and is used to separate number sequences.
For instance, 2.5
is not "two and a half" or "half way to version three", it is the fifth second-level revision of the second first-level revision.
Here is an example of version numbers ordering:
0.1 < 1.1 < 1.2 < 13.37
Solution:
Attention: The version string may have multiple "."
Split the two strings and convert them to int arrays. Then compare the ints at the same index. If one array is longer than the other, check whether the rest elements in the longer array equal to 0. If they are all 0s, the two versions are the same, return 0. If any of them does not equal to 0, the longer version is greater.
public class Solution { public int compareVersion(String version1, String version2) { String[] v1 = version1.split("\\."); String[] v2 = version2.split("\\."); int[] nums1 = new int[v1.length]; int[] nums2 = new int[v2.length]; for (int i = 0; i < v1.length; i++) { nums1[i] = Integer.parseInt(v1[i]); } for (int i = 0; i < v2.length; i++) { nums2[i] = Integer.parseInt(v2[i]); } int i = 0; for (;i < nums1.length && i < nums2.length; i++) { if (nums1[i] > nums2[i]) { return 1; } else if (nums1[i] < nums2[i]) { return -1; } } for (;i < nums1.length; i++) { if (nums1[i] != 0) { return 1; } } for (;i < nums2.length; i++) { if (nums2[i] != 0) { return -1; } } return 0; }}
- [leetcode 165] Compare Version Numbers
- leetcode #165 Compare Version Numbers
- leetcode-165 Compare Version Numbers
- [LeetCode 165]Compare Version Numbers
- [LeetCode][165][Compare Version Numbers]
- Compare Version Numbers- LeetCode 165
- leetcode 165 Compare Version Numbers
- LeetCode 165: Compare Version Numbers
- leetcode[165]:Compare Version Numbers
- leetcode 165: Compare Version Numbers
- [Leetcode]#165 Compare Version Numbers
- LeetCode 165 Compare Version Numbers
- Leetcode 165: Compare Version Numbers
- LeetCode 165:Compare Version Numbers
- [leetcode 165] Compare Version Numbers
- 【LEETCODE】165-Compare Version Numbers
- 【leetcode】【165】Compare Version Numbers
- LeetCode 165 Compare Version Numbers
- Distance between subspacess
- Leetcode 49: Group Anagrams
- 原来正常运行的一个很简单的web页面,重启后一直无法显示此页
- 提高MyEclipse启动速度
- centos 6搭建tftp服务器
- Leetcode 165: Compare Version Numbers
- PBDOM操作XML文档轻松入门(Easy XML with PowerBuilder Document Object Model)
- if else----JavaScript笔记
- log4j配制
- Reverse Integer
- 快速在MyEclipse中打开jsp类型的文件
- Leetcode 293: Flip Game
- POI:全面了解POI操作Microsoft Office(Word、Excel、PowerPoint)
- 对“使用MyEclipse,写的jsp代码因有汉字而无法保存”问题的解决