124 66 加一問題

2022-05-02 18:12:11 字數 1299 閱讀 7502

給定乙個由 整數 組成的 非空 陣列所表示的非負整數,在該數的基礎上加一。(老規矩第乙個是我寫的,後面的兩個我從執行時間和消耗記憶體最少個抄了乙個)

class solution(object):

def plusone1(self, digits):

""":type digits: list[int]

:rtype: list[int]

"""if digits[0] == 0:

digits[-1] += 1

return digits

int_str = ""

for item in digits:

int_str += str(item)

ret_str = str(int(int_str) + 1)

return [int(item) for item in ret_str]

def plusone2(self, digits):

""":type digits: list[int]

:rtype: list[int]

"""newlst =

while digits and digits[-1] == 9:

digits.pop()

if not digits:

return [1] + newlst

else:

digits[-1] += 1

return digits + newlst

def plusone(self, digits):

""":type digits: list[int]

:rtype: list[int]

"""digits[-1] = digits[-1] + 1

time_num = 0

res_num =

for i in range(len(digits), 0, -1):

num = (time_num + digits[i-1]) # 這裡是關鍵

if num > 9:

time_num = 1

else:

time_num = 0

if time_num:

res_num.reverse()

return res_num

if __name__ == '__main__':

s1 = solution()

digits = [4, 3, 2, 1]

digits = [1, 9, 9, 9]

print(s1.plusone(digits))

13 加一問題

我的 不同的提交竟然有一次是100 了,說明是網路問題 public static int plusone int digits if div 1 return nums return digits 看一下排名比較靠前的 吧,以後不能用演算法來套題目,要根據題目來套演算法,不同的題目要用不同的演算法...

LeetCode 加一問題

題目描述 給定乙個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一.最高位數字存放在陣列的首 位,陣列中每個元素只儲存單個數字.你可以假設除了整數 0 之外,這個整數不會以零開頭.測試用例 輸入 digits 1,2,3 輸出 1,2,4 解釋 輸入陣列表示數字 123。思路 加一問題也就是...

對於加一問題的思考

給定乙個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一。最高位數字存放在陣列的首位,陣列中每個元素只儲存乙個數字。你可以假設除了整數 0 之外,這個整數不會以零開頭。示例 1 輸入 1,2,3 輸出 1,2,4 解釋 輸入陣列表示數字 123。示例 2 輸入 4,3,2,1 輸出 4,3,...