LeetCode989 陣列形式的整數加法

2021-10-24 17:25:45 字數 1351 閱讀 6235

題目描述

對於非負整數 x 而言,x 的陣列形式是每位數字按從左到右的順序形成的陣列。例如,如果 x = 1231,那麼其陣列形式為 [1,2,3,1]。

給定非負整數 x 的陣列形式 a,返回整數 x+k 的陣列形式。

示例 1:

輸入:a = [1,2,0,0], k = 34

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

解釋:1200 + 34 = 1234

示例 2:

輸入:a = [2,7,4], k = 181

輸出:[4,5,5]

解釋:274 + 181 = 455

示例 3:

輸入:a = [2,1,5], k = 806

輸出:[1,0,2,1]

解釋:215 + 806 = 1021

示例 4:

輸入:a = [9,9,9,9,9,9,9,9,9,9], k = 1

輸出:[1,0,0,0,0,0,0,0,0,0,0]

解釋:9999999999 + 1 = 10000000000

解題思路

該題的解題思路主要是通過按位獲取陣列中的值獲得乙個整型數num,再加上數字k,即可得到待輸出的整型數,通過整除取餘法,一次獲取每一位數字,重新新增到新的列表lst中,這裡如果不設定倒序儲存,則會出現結果為倒敘列表的情況,可以通過設定空列表,通過逆位賦值重新排序(即首尾互換),最後輸出排序好的列表即可

**

class

solution

:def

addtoarrayform

(self, a: list[

int]

, k:

int)

-> list[

int]

: num=

0 lst=

list([

])n=

len(a)

for i in

range

(n):

num=num*

10+a[i]

num=num+k

while num:10)

num=num//

10 n=

len(lst)

ls=list

(range

(n))

for i in

range

(n):

ls[i]

=lst[n-

1-i]

iflen

(ls)==0

:0)return ls

LeetCode 989 陣列形式的整數加法

對於非負整數 x 而言,x 的陣列形式是每位數字按從左到右的順序形成的陣列。例如,如果 x 1231,那麼其陣列形式為 1,2,3,1 給定非負整數 x 的陣列形式 a,返回整數 x k 的陣列形式。示例 1 輸入 a 1,2,0,0 k 34 輸出 1,2,3,4 解釋 1200 34 1234 ...

leetcode989 陣列形式的整數加法

看到這道題剛開始我的解題思路是將整數k分解,並依次放入乙個新建好的陣列中,然後同給的陣列按位相加,標記進製。但是怎麼把整數k分解成乙個陣列難倒了我。等以後有時間我會把我的這種方法寫出來 今晚實在不想動腦筋。官方解題思路 leetcode官方題解 這個官方解題思路真的是贊啊,一看到兩數相加當然想到按位...

leetcode 989 陣列形式的整數加法

989.陣列形式的整數加法 難度簡單61 對於非負整數x而言,x的陣列形式是每位數字按從左到右的順序形成的陣列。例如,如果x 1231,那麼其陣列形式為 1,2,3,1 給定非負整數x的陣列形式a,返回整數x k的陣列形式。示例 1 輸入 a 1,2,0,0 k 34輸出 1,2,3,4 解釋 12...