嘎 陣列 加一

2022-09-06 21:45:19 字數 1649 閱讀 7255

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

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

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

示例 1:

輸入: [1,2,3]

輸出: [1,2,4]

解釋: 輸入陣列表示數字 123。

示例 2:

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

輸出: [4,3,2,2]

解釋: 輸入陣列表示數字 4321。

解答:step1 一開始用了int接收origin,後來用了long,但還是會有溢位的問題,所以這種做法是不對的

1

class

solution

7 string res = (origin + 1) + "";

8int arr = new

int[res.length()];

9for (int i = 0; i < res.length(); i++)

12return

arr;13}

14 }

然後換成了下面的寫法,其中錯了兩次,忘記會有進製了:

1

class

solution else

12 } else

22//

錯誤2:忘記返回了

然後看看別人的寫法以及別人的評價,我突然覺得陣列長度加一,for迴圈塞值是多餘的了: )

下面這位精選:

根據題意加一,沒錯就是加一這很重要,因為它是只加一的所以有可能的情況就只有兩種:

除 99之外的數字加一;

數字 99。

加一得十進一位個位數為 00加法運算如不出現進製就運算結束了且進製只會是一。

所以只需要判斷有沒有進製並模擬出它的進製方式,如十位數加 11 個位數置為 00,如此迴圈直到判斷沒有再進製就退出迴圈返回結果。

然後還有一些特殊情況就是當出現 9999、999999之類的數字時,迴圈到最後也需要進製,出現這種情況時需要手動將它進一位。

嘎 陣列 搜尋插入位置

題目 給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。解答 其中一開始沒有注意到target nums len 1 的情況 class solution int res 0 for int i 0 i...

陣列位址加一詳解

int a 5 int a new int 5 int ptr int a 1 a 1相當於加了陣列的乙個單位 也就是一行 即 a 5 printf d p 1 指標p 1相當於前移乙個元素,輸出為5a是陣列首位址a 0 的位址,a是物件 陣列 首位址 a 1,表示指標指向下乙個元素a 1 這是因為...

隨筆 陣列加一(整型陣列)

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