日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php開源 > php教程 > Compare Version Numbers

Compare Version Numbers

來(lái)源:程序員人生   發(fā)布時(shí)間:2015-01-16 08:15:15 閱讀次數(shù):2776次

本文是在學(xué)習(xí)中的總結(jié),歡迎轉(zhuǎn)載但請(qǐng)注明出處:http://blog.csdn.net/pistolove/article/details/42342251


Compare two version numbers version1 and version1.
If version1 > version2 return 1, if version1 < version2 return ⑴, 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


思路:

(1)題意為比較版本號(hào)大小。但是版本號(hào)可以包括多個(gè)小數(shù)點(diǎn),例如1.0.0.1和1.0.0.0.2這樣的情況也會(huì)產(chǎn)生。

(2)判斷進(jìn)程分為幾種情況:如果給定的版本號(hào)包括“.”,則需要將其中的字符分開并存到鏈表中,如果不包括,則直接存入鏈表便可。

(3)兩個(gè)版本號(hào)都存入到鏈表,遍歷較長(zhǎng)的鏈表,進(jìn)行比較判斷,直到從兩個(gè)鏈表取出的字符對(duì)應(yīng)的整數(shù)值不相等,則返回判斷得到的值;如果遍歷完較短的鏈表還未判斷出大小,則視較短鏈表后續(xù)元素為0與較長(zhǎng)鏈表進(jìn)行比較,直到較長(zhǎng)鏈表遍歷完成為止,返回對(duì)應(yīng)的值。(由于可能出現(xiàn)類似1.1.0.0.0、1.1.0.0.1和1.1之間的比較,此時(shí)必須遍歷完較長(zhǎng)的鏈表)

(4)下面簡(jiǎn)單舉例子說明:

     對(duì)1.1.0.1和1.1.0

       a:對(duì)應(yīng)的鏈表(以數(shù)組表示)為[1,1,0,1]和[1,1,0]

       b:遍歷完前3次后,其對(duì)應(yīng)的位置上的值都相等,而此時(shí)[1,1,0]所有元素都遍歷完了,但是還需要繼續(xù),將[1,1,0]“第4個(gè)位置”元素設(shè)為            0進(jìn)行比較,此時(shí)得到1,1,0,1]對(duì)應(yīng)的元素要大于0,即1.1.0.1 > 1.1.0,返回對(duì)應(yīng)結(jié)果。

       c:類似1.1.1.0和1.1.1.0.0的比較類似,在此不舉例子說明。

(5)代碼很長(zhǎng),但是思路還是比較清晰的,希望對(duì)你有所幫助。


算法代碼實(shí)現(xiàn)以下:

public static int compareVersion(String version1, String version2) { List<String> list1 = new LinkedList<String>(); if(version1.contains(".")){ char[] charArray = version1.toCharArray(); StringBuffer buffer = new StringBuffer(); for (int i = 0; i < charArray.length; i++) { if(charArray[i]!='.'){ buffer.append(charArray[i]); if(i==charArray.length⑴){ list1.add(buffer.toString()); } }else{ list1.add(buffer.toString()); buffer.setLength(0); } } }else{ list1.add(version1); } List<String> list2 = new LinkedList<String>(); if(version2.contains(".")){ char[] charArray = version2.toCharArray(); StringBuffer buffer = new StringBuffer(); for (int i = 0; i < charArray.length; i++) { if(charArray[i]!='.'){ buffer.append(charArray[i]); if(i==charArray.length⑴){ list2.add(buffer.toString()); } }else{ list2.add(buffer.toString()); buffer.setLength(0); } } }else{ list2.add(version2); } int max = list1.size() >= list2.size()? list1.size():list2.size(); for (int i = 0; i < max; i++) { if(list1.size()>=list2.size()){ if(i>list2.size()⑴){ if(compare(list1.get(i),"0")==0){ continue; }else{ return compare(list1.get(i),"0"); } }else{ if(compare(list1.get(i),list2.get(i))==0){ continue; }else{ return compare(list1.get(i),list2.get(i)); } } } if(list2.size()>list1.size()){ if(i>list1.size()⑴){ if(compare("0",list2.get(i))==0){ continue; }else{ return compare("0",list2.get(i)); } }else{ if(compare(list1.get(i),list2.get(i))==0){ continue; }else{ return compare(list1.get(i),list2.get(i)); } } } } return 0; } public static int compare(String s1, String s2){ int v1 = Integer.parseInt(s1); int v2 = Integer.parseInt(s2); if(v1>v2){ return 1; }else if(v1<v2){ return ⑴; }else{ return 0; } }


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 精品视频免费看 | 精品国产黄色片 | 国产一区二区日韩 | 国产婷婷色一区二区三区在线 | 尤物一区 | 秋霞视频在线观看 | 久久美| 久久国产99| 精品久久久一区 | 亚洲精品一区在线 | 国产精品178页 | 国产精品一区二区三区四区五区 | 一区二区三区日本 | 久久久久一区二区 | 国产一区二区三区电影在线观看 | 精品久久久免费 | 美美女高清毛片视频免费观看 | 国产亚洲网站 | 国产在视频线在精品视频55 | 91免费在线播放 | 精品一二三 | 九色91在线| 中文字幕日韩专区 | 国产高清精品在线 | 亚洲精品一区在线 | 草久久 | 日韩欧美三区 | 欧美精品乱码久久久久久按摩 | 日韩一区二区视频 | 日韩免费福利视频 | 亚洲精品成人av | 精品久久久网站 | 欧美三级视频 | 国产精品一区免费视频 | 一级黄色国产片 | 欧美综合在线播放 | 在线播放国产一区二区三区 | 中文一区在线 | 999成人免费视频 | 成人免费在线观看 | 在线v |