摘要:加一給定一個(gè)由整數(shù)組成的非空數(shù)組所表示的非負(fù)整數(shù),在該數(shù)的基礎(chǔ)上加一。示例輸入輸出解釋輸入數(shù)組表示數(shù)字。思路指針從最后往前移動(dòng),若值為逐個(gè)加一,并賦值。不等于則退出循環(huán)。首位如果為是則證明需要進(jìn)一。只需首位賦值即可。
加一
給定一個(gè)由整數(shù)組成的非空數(shù)組所表示的非負(fù)整數(shù),在該數(shù)的基礎(chǔ)上加一。
最高位數(shù)字存放在數(shù)組的首位, 數(shù)組中每個(gè)元素只存儲(chǔ)一個(gè)數(shù)字。
你可以假設(shè)除了整數(shù) 0 之外,這個(gè)整數(shù)不會(huì)以零開(kāi)頭。
Given a non-empty array of digits representing a non-negative integer, plus one to the integer.
The digits are stored such that the most significant digit is at the head of the list, and each element in the array contain a single digit.
You may assume the integer does not contain any leading zero, except the number 0 itself.
示例 1:
輸入: [1,2,3] 輸出: [1,2,4] 解釋: 輸入數(shù)組表示數(shù)字 123。
示例 2:
輸入: [4,3,2,1] 輸出: [4,3,2,2] 解釋: 輸入數(shù)組表示數(shù)字 4321。java:
class Solution { public int[] plusOne(int[] digits) { for( int i=digits.length;i>=0;i--){ if(digits[i]+1==10){ digits[i]=0; }else { digits[i]+=1; break; } } if(digits[0]==0){ int[] digits2=new int[digits.length+1]; digits2[0]=1; return digits2; }else { return digits; } } }思路:
? 指針從最后往前移動(dòng),若值為10逐個(gè)加一,并賦值0。不等于10則退出循環(huán)。首位如果為是0則證明需要進(jìn)一。這里新建一個(gè)長(zhǎng)度比原數(shù)組大一。只需首位賦值1即可。
python3:?
class Solution: def plusOne(self, digits: List[int]) -> List[int]: """ :type digits:int :return: int """ num = 0 for i in range(len(digits)): num = num*10 + digits[i] return [int(i) for i in str(num+1)]
python3則可以有很多實(shí)現(xiàn)方法,可以像以上java那種。
可以把數(shù)組digits倒置,reversed(digits)然后逐項(xiàng)加1,最后如果為0,則直接對(duì)數(shù)組下一項(xiàng)賦值1(python3數(shù)組可動(dòng)態(tài)擴(kuò)展)。最后返回倒置數(shù)組。
再就是如上轉(zhuǎn)換成string方式。先把數(shù)組轉(zhuǎn)成一個(gè)數(shù)字,然后加一,最后轉(zhuǎn)換字符串逐個(gè)輸出char字符并強(qiáng)制轉(zhuǎn)換int型
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/74777.html
摘要:加一給定一個(gè)由整數(shù)組成的非空數(shù)組所表示的非負(fù)整數(shù),在該數(shù)的基礎(chǔ)上加一。示例輸入輸出解釋輸入數(shù)組表示數(shù)字。思路指針從最后往前移動(dòng),若值為逐個(gè)加一,并賦值。不等于則退出循環(huán)。首位如果為是則證明需要進(jìn)一。只需首位賦值即可。 加一 給定一個(gè)由整數(shù)組成的非空數(shù)組所表示的非負(fù)整數(shù),在該數(shù)的基礎(chǔ)上加一。 最高位數(shù)字存放在數(shù)組的首位, 數(shù)組中每個(gè)元素只存儲(chǔ)一個(gè)數(shù)字。 你可以假設(shè)除了整數(shù) 0 之外,這個(gè)...
摘要:尋找數(shù)組的中心索引給定一個(gè)整數(shù)類型的數(shù)組,請(qǐng)編寫一個(gè)能夠返回?cái)?shù)組中心索引的方法。同時(shí)也是第一個(gè)符合要求的中心索引。示例輸入輸出解釋數(shù)組中不存在滿足此條件的中心索引。說(shuō)明的長(zhǎng)度范圍為。 尋找數(shù)組的中心索引 給定一個(gè)整數(shù)類型的數(shù)組 nums,請(qǐng)編寫一個(gè)能夠返回?cái)?shù)組中心索引的方法。 我們是這樣定義數(shù)組中心索引的:數(shù)組中心索引的左側(cè)所有元素相加的和等于右側(cè)所有元素相加的和。 如果數(shù)組不存在中心...
摘要:尋找數(shù)組的中心索引給定一個(gè)整數(shù)類型的數(shù)組,請(qǐng)編寫一個(gè)能夠返回?cái)?shù)組中心索引的方法。同時(shí)也是第一個(gè)符合要求的中心索引。示例輸入輸出解釋數(shù)組中不存在滿足此條件的中心索引。說(shuō)明的長(zhǎng)度范圍為。 尋找數(shù)組的中心索引 給定一個(gè)整數(shù)類型的數(shù)組 nums,請(qǐng)編寫一個(gè)能夠返回?cái)?shù)組中心索引的方法。 我們是這樣定義數(shù)組中心索引的:數(shù)組中心索引的左側(cè)所有元素相加的和等于右側(cè)所有元素相加的和。 如果數(shù)組不存在中心...
摘要:對(duì)角線遍歷給定一個(gè)含有個(gè)元素的矩陣行,列,請(qǐng)以對(duì)角線遍歷的順序返回這個(gè)矩陣中的所有元素,對(duì)角線遍歷如下圖所示。此時(shí)且均超出范圍,,應(yīng)當(dāng)優(yōu)先判斷是否超出范圍,執(zhí)行,避免因?yàn)樵俅吻袚Q一次索引改變方式。避免出現(xiàn)同時(shí)小于時(shí)布爾值轉(zhuǎn)換兩次的錯(cuò)誤。 對(duì)角線遍歷 給定一個(gè)含有 M x N 個(gè)元素的矩陣(M 行,N 列),請(qǐng)以對(duì)角線遍歷的順序返回這個(gè)矩陣中的所有元素,對(duì)角線遍歷如下圖所示。Given ...
摘要:對(duì)角線遍歷給定一個(gè)含有個(gè)元素的矩陣行,列,請(qǐng)以對(duì)角線遍歷的順序返回這個(gè)矩陣中的所有元素,對(duì)角線遍歷如下圖所示。此時(shí)且均超出范圍,,應(yīng)當(dāng)優(yōu)先判斷是否超出范圍,執(zhí)行,避免因?yàn)樵俅吻袚Q一次索引改變方式。避免出現(xiàn)同時(shí)小于時(shí)布爾值轉(zhuǎn)換兩次的錯(cuò)誤。 對(duì)角線遍歷 給定一個(gè)含有 M x N 個(gè)元素的矩陣(M 行,N 列),請(qǐng)以對(duì)角線遍歷的順序返回這個(gè)矩陣中的所有元素,對(duì)角線遍歷如下圖所示。Given ...
閱讀 784·2021-10-09 09:58
閱讀 648·2021-08-27 16:24
閱讀 1731·2019-08-30 14:15
閱讀 2392·2019-08-30 11:04
閱讀 2080·2019-08-29 18:43
閱讀 2173·2019-08-29 15:20
閱讀 2723·2019-08-26 12:20
閱讀 1622·2019-08-26 11:44