給定乙個非負數,表示乙個數字陣列,在該數的基礎上+1,返回乙個新的陣列。
該數字按照數字高低進行排列,最高位的數在列表的最前面。
給定[1,2,3]
表示 123, 返回[1,2,4]
.
給定[9,9,9]
表示 999, 返回[1,0,0,0]
.
一開始想到將陣列元素轉化為數字再加一,最後轉換到陣列,實現太複雜,而且時間與空間複雜度過高。
後來就是手動在陣列中實現加法,設定進製識別符號cnt,從尾至頭遍歷依次按位計算,最後要考慮9,99,999這類情況,如果加完後首位為0且cnt不為0表示需要再向前進一位,在首位之前插入cnt即可。
public class solution
if(cnt == 0)else
}}
二刷:
public class solution
if(cnt != 0)
list.add(cnt);
int res = new int[list.size()];
for(int i=list.size()-1; i>=0; i--)
res[list.size()-i-1] = list.get(i);
return res;
}}
兩次過 Lintcode 56 兩數之和
給乙個整數陣列,找到兩個數使得他們的和等於乙個給定的數 target。你需要實現的函式twosum需要返回這兩個數的下標,並且第乙個下標小於第二個下標。注意這裡下標的範圍是 0 到 n 1。example1 給出 numbers 2,7,11,15 target 9,返回 0,1 example2 ...
兩次過 Lintcode 1209 構造矩形
對於乙個web開發者,如何設計頁面大小很重要。所以,給定乙個矩形大小,設計其長 l 寬 w 使其滿足如下要求 1.矩形區域大小需要和給定目標相等。2.寬度w不大於長度l,也即l w.3.長和寬的差異盡可能的小。返回設計好的長度l和寬度w。樣例 輸入 4 輸出 2,2 解釋 目標區域是4,所有可能的構...
兩次過 Lintcode 212 空格替換
設計一種方法,將乙個字串中的所有空格替換成 20。你可以假設該字串有足夠的空間來加入新的字元,且你得到的是 真實的 字元長度。你的程式還需要返回被替換後的字串的長度。對於字串 mr john smith 長度為13 替換空格之後,引數中的字串需要變為 mr 20john 20smith 並且把新長度...