1.問題描述:
給定乙個非負數,表示乙個數字陣列,在該數的基礎上+1,返回乙個新的陣列。
該數字按照大小進行排列,最大的數在列表的最前面。(聯絡lintcode 已更正為最高位在最前面)
2.樣例:
給定[1,2,3]
表示 123, 返回[1,2,4]
. (樣例錯誤)
給定[9,9,9]
表示 999, 返回[1,0,0,0]
.
3.**:
class solution:
"""@param: digits: a number represented as an array of digits
@return: the result
"""def plusone(self, digits):
# write your code here
length=len(digits)
num=0
for i in range(length):
num+=digits[i]*(10**(length-i-1))
num+=1
l=while num:
num=num/10
l.sort(reverse=true)
return l
若最高位在前的順序排序,則修改倒數第二行**為:l.reverse()。
兩次過 Lintcode 407 加一
給定乙個非負數,表示乙個數字陣列,在該數的基礎上 1,返回乙個新的陣列。該數字按照數字高低進行排列,最高位的數在列表的最前面。給定 1,2,3 表示 123,返回 1,2,4 給定 9,9,9 表示 999,返回 1,0,0,0 一開始想到將陣列元素轉化為數字再加一,最後轉換到陣列,實現太複雜,而且...
66 加一(簡單)
解題思路 字串拼接後轉換為整數,對整數進行加1,再將得到的結果轉換為字串,遍歷之後轉為整數存入列表中。用時44ms,記憶體13.7 mb def plusone digits res for i in range len digits res res str digits i mid str int...
一次過 Lintcode 904 加一鍊錶
給定乙個非負整數,這個整數表示為乙個非空的單鏈表,每個節點表示這個整數的一位。返回這個整數加一。除了0本身,所有數字在最高位前都沒有0。列表的頭節點存的是這個整數的最高位。給出鍊錶1 2 3 null,返回1 2 4 null。因為可能頭節點會變化,所以設定dummy結點,特別地,將dummy.va...