摘要:題目內(nèi)容比較不同的版本號(hào),并根據(jù)大小返回,或。并提醒版本意思是第二代的第五次升級(jí),反正不是數(shù)字上的的意思。代碼拆分兩個(gè)字符串這里用最大的長度作為循環(huán)范圍因?yàn)檠h(huán)范圍是最大長度,所以缺的位置補(bǔ)復(fù)雜度分析,和分別是兩個(gè)字符串的長度。
題目內(nèi)容
比較不同的版本號(hào),并根據(jù)大小返回-1,1或0。并提醒2.5版本意思是第二代的第五次升級(jí),反正不是數(shù)字上的2.5的意思。
解決思路直觀的想法是,找到比較兩個(gè)字符串(版本號(hào))的方法,舉個(gè)例子,1.1.2和1.2.3的比較,那么先比較第一位,兩個(gè)1相等。那么就再看第二位,1<2,得出結(jié)果。
根據(jù)這個(gè)思路,先把字符串拆分成字符串?dāng)?shù)組,然后逐個(gè)比較即可。
public class Solution { public int compareVersion(String version1, String version2) { //拆分兩個(gè)字符串 String[] v1 = version1.split("."); String[] v2 = version2.split("."); int l1 = v1.length, l2 = v2.length; int len = Math.max(l1,l2); //這里用最大的長度作為循環(huán)范圍 for(int i = 0; i < len; i++){ //因?yàn)檠h(huán)范圍是最大長度,所以缺的位置補(bǔ)0 int cur1 = i < l1 ? Integer.valueOf(v1[i]) : 0; int cur2 = i < l2 ? Integer.valueOf(v2[i]) : 0; if(cur1 < cur2) return -1; else if(cur1 > cur2) return 1; } return 0; } }復(fù)雜度分析
O(m+n),m和n分別是兩個(gè)字符串的長度。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/76391.html
摘要:所以這題先建立一個(gè)對(duì)應(yīng)的,然后掃一遍字符串就可以了。復(fù)雜度分析第二題題目內(nèi)容解決思路一看關(guān)鍵詞,通常都是,深搜一遍,挖地三尺,雁過拔毛。復(fù)雜度分析第三題題目內(nèi)容解決思路復(fù)雜度分析 該系列共三道題,Company Tag只有一個(gè)Google,那就必須要做了。 第一題題目內(nèi)容 A strobogrammatic number is a number that looks the same ...
摘要:解決思路有一首歌名是下一個(gè)天亮,不過和這道題沒什么關(guān)系。根據(jù)這兩個(gè)例子猜測,需要兩個(gè)輔助的方法,一個(gè)是交換,另一個(gè)是逆序。所以第一步的思路就是從后往前找,找一對(duì)兒符合要求的相鄰數(shù)字。這道題的關(guān)鍵在于,找到規(guī)律,數(shù)學(xué)上的規(guī)律。 題目內(nèi)容 給出一個(gè)數(shù)組,重新排列,返回『下一個(gè)排列,題目的描述中還給出了幾個(gè)例子。 解決思路 有一首歌名是下一個(gè)天亮,不過和這道題沒什么關(guān)系。還有一類題是已有一堆...
摘要:題目內(nèi)容因?yàn)檫@道題被鎖住了,在寫這篇文章時(shí)還有天就要過期了,把原題也貼上來。題目要求,樹的結(jié)構(gòu)是每個(gè)當(dāng)右邊子節(jié)點(diǎn)的,它肯定有個(gè),就是它的根節(jié)點(diǎn)肯定有個(gè)左邊子節(jié)點(diǎn),也就是說它是二胎。遞歸設(shè)置終止條件,在空節(jié)點(diǎn)或最左邊的葉子處終止。 題目內(nèi)容 Given a binary tree where all the right nodes are either leaf nodes with a...
摘要:注意因?yàn)榉椒ㄝ斎氲氖且粋€(gè)正則表達(dá)式所以不能直接用,而是要用,而的要轉(zhuǎn)義,所有要用代碼按照進(jìn)行分割比對(duì)相應(yīng)的子串如果某個(gè)版本號(hào)更長,判斷其多余部分是否是,如果不是,則較長的較大,否則是一樣的。 Compare Version Numbers Compare two version numbers version1 and version2. If version1 > version2...
Problem 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 an...
閱讀 1292·2021-11-10 11:35
閱讀 3090·2021-09-24 10:35
閱讀 3121·2021-09-22 15:38
閱讀 2910·2019-08-30 15:43
閱讀 1480·2019-08-29 18:39
閱讀 2709·2019-08-29 15:22
閱讀 2898·2019-08-28 18:17
閱讀 703·2019-08-26 13:37