165. Compare Version Numbers比较版本号的大小
[抄题]:
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.
Example 1:
Input:version1= "0.1",version2= "1.1"
Output: -1
Example 2:
Input:version1= "1.0.1",version2= "1"
Output: 1
[暴力解法]:
时间分析:
空间分析:
[优化后]:
时间分析:
空间分析:
[奇葩输出条件]:
[奇葩corner case]:
[思维问题]:
以为要用stack,结果是个水题
[英文数据结构或算法,为什么不用别的数据结构或算法]:
一般就split就行了。.是特殊符号,要加双反斜杠.split("\\.")
[一句话思路]:
[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):
[画图]:
[一刷]:
[二刷]:
[三刷]:
[四刷]:
[五刷]:
[五分钟肉眼debug的结果]:
[总结]:
.是特殊符号,要加双反斜杠.split("\\.")
[复杂度]:Time complexity: O(n) Space complexity: O(n)
[算法思想:迭代/递归/分治/贪心]:
[关键模板化代码]:
[其他解法]:
[Follow Up]:
[LC给出的题目变变变]:
[代码风格] :
[是否头一次写此类driver funcion的代码] :
[潜台词] :
class Solution {
    public int compareVersion(String version1, String version2) {
        //corner case
        if (version1 == null && version2 == null) return 0; 
        //initialization: split
        String[] words1 = version1.split("\\.");
        String[] words2 = version2.split("\\.");
        for (int i = 0; i < Math.max(words1.length,words2.length); i++) {
            //get 2 nums
            int num1 = (i < words1.length) ? Integer.valueOf(words1[i]) : 0;
            int num2 = (i < words2.length) ? Integer.valueOf(words2[i]) : 0;  
            //compare and return
           if (num1 > num2) {
               return 1;
           }else if (num1 < num2) {
               return -1;
           }
    }
    return 0;
    }
}
165. Compare Version Numbers比较版本号的大小的更多相关文章
- 165 Compare Version Numbers 比较版本号
		比较两个版本号 version1 和 version2.如果 version1 大于 version2 返回 1,如果 version1 小于 version2 返回 -1, 除此以外 返回 0.您可 ... 
- 【LeetCode】165. Compare Version Numbers 解题报告(Python)
		[LeetCode]165. Compare Version Numbers 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博 ... 
- 165. Compare Version Numbers - LeetCode
		Question 165. Compare Version Numbers Solution 题目大意: 比较版本号大小 思路: 根据逗号将版本号字符串转成数组,再比较每个数的大小 Java实现: p ... 
- 【刷题-LeetCode】165 Compare Version Numbers
		Compare Version Numbers Compare two version numbers version1 and version2. If *version1* > *versi ... 
- ✡   leetcode 165. Compare Version Numbers 比较两个字符串数字的大小  --------- java
		Compare two version numbers version1 and version2.If version1 > version2 return 1, if version1 &l ... 
- 【一天一道LeetCode】#165. Compare Version Numbers
		一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 来源: htt ... 
- 165. Compare Version Numbers
		题目: Compare two version numbers version1 and version2.If version1 > version2 return 1, if version ... 
- [LeetCode] 165. Compare Version Numbers 比较版本数
		Compare two version numbers version1 and version1.If version1 > version2 return 1, if version1 &l ... 
- Java for LeetCode 165 Compare Version Numbers
		Compare two version numbers version1 and version2.If version1 > version2 return 1, if version1 &l ... 
随机推荐
- PHP 弹出文件下载 原理 代码
			/** * @author default7<default7@zbphp.com> * @description 演示PHP弹出下载的原理 * * @param $file_n ... 
- TensorFlow系列专题(一):机器学习基础
- 网络虚拟化中的 offload 技术:LSO/LRO、GSO/GRO、TSO/UFO、RSS、VXLAN
			offload offload特性,主要是指将本来在操作系统协议栈中进行的一些数据包处理(如IP分片.TCP分片.重组.checksum校验等)放到网卡硬件中去做,降低系统 CPU 消耗,提高处理的性 ... 
- js 解决图片居中问题
			下述方法能够解决图片居中问题: (1)宽一些或者高一些(相对父元素的大小):图片在父元素的可视范围内显示图片的中间位置 (2)小一些(相对父元素的大小):图片在父元素的可视范围内居中显示 实现原理:根 ... 
- 分割List为指定size
			背景 老项目,用的原生的JDBC,获取连接,预编译...然后业务需要要更新很多条数据,我就写了条件为 ——IN()... 根据传入的 list 的 size 循环的给sql语句拼接上“ ? ”为了之后 ... 
- Django中组合搜索功能
			需求分析 很多电商网站中有组合搜索的功能,所谓组合搜索就是网页中组合多个条件,对数据库中进行查询,并且将结果显示在页面中,看个例子吧: 注意红框中的标识,我们可以根据URL来做组合搜索. video- ... 
- SignalR + Mvc 4 web 应用程序
			在上节中,我们已经初步对 SignalR 进行了了解,这一节我们将做一个SignalR Demon,具体的步骤如下: 1. 创建一个 mvc 4 web 应用程序,并选择 Basic 2. 创建一个 ... 
- PHP获取跳转后的URL,存到数据库,设置缓存时间
			<?php error_reporting(0); header("Content-Type: text/html; charset=utf-8"); $fid=$_GET[ ... 
- 国内各类“壳子”浏览器,userAgent 一览
			[测试环境]:测试日期:2014-6-20 我本机的chrome是36.0的,IE是10.0的.下列各浏览器大多数都是最新版,少数是半年以内的版本. 内核 chrome 版本 36.0 userAge ... 
- 无法读取用户配置文件,系统自动建立Temp临时用户
			chkdsk/f 删除用户目录下的 ntuser.dat.LOG 文件,重新登陆即可. 对于新建用户的情况: 一.Default User文件夹不完整或者被删除了,导致系统无法复制新的一份.这种情况的 ... 
