題目描述
對於非負整數 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...