1. 程式人生 > 實用技巧 >[隨筆] 高階程式設計師價值、素養、成長之路

[隨筆] 高階程式設計師價值、素養、成長之路

技術標籤:每日一題

加一


題目

給定一個由 整數 組成的 非空 陣列所表示的非負整數,在該數的基礎上加一。

最高位數字存放在陣列的首位, 陣列中每個元素只儲存單個數字。

你可以假設除了整數 0 之外,這個整數不會以零開頭。

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/plus-one
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

示例

示例 1:

輸入:digits = [1,2,3]
輸出:[1,2,4]
解釋:輸入陣列表示數字 123。

示例 2:

輸入:digits = [4,3,2,1]

輸出:[4,3,2,2]
解釋:輸入陣列表示數字 4321。

示例 3:

輸入:digits = [0]
輸出:[1]

提示:

1 <= digits.length <= 100
0 <= digits[i] <= 9

思路

此處用了最笨的辦法,將輸入的列表轉為整數,加一後放入新的列表,消耗記憶體過大,還需優化。
在這裡插入圖片描述

解答

class Solution:
    def plusOne(self, digits):
        str_int = ''
        for i in digits:
            str_int = str_int + str
(i) str_int = str(int(str_int) + 1) li = [] for i in str_int: li.append(int(i)) while len(digits) > len(li): li.insert(0, 0) return li if __name__ == '__main__': li = [9] res = Solution().plusOne(li) print(res)