Giả sử chúng ta có một danh sách các số nguyên được gọi là n, đây là đại diện cho một số thập phân và n [i] nằm trong khoảng [0, 9]. Vì vậy, nếu n là [2, 4, 9] đại diện cho số 249. Chúng ta phải tìm cùng một danh sách trong cùng một biểu diễn ngoại trừ được sửa đổi để 1 được thêm vào số.
Vì vậy, nếu đầu vào là n =[9,9], thì đầu ra sẽ là [1, 0, 0]
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
n:=thêm 0 vào đầu n
-
tăng phần tử cuối cùng của n lên 1
-
đối với tôi trong phạm vi kích thước từ n - 1 đến 0, giảm đi 1, thực hiện
-
n [i-1]:=n [i-1] + thương số của (n [i] / 10)
-
n [i]:=n [i] mod 10
-
-
trả về n nếu n [0]> 0 nếu không thì n từ chỉ mục 1 đến cuối
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
class Solution: def solve(self, n): n = [0] + n n[-1] += 1 for i in range(len(n) - 1, 0, -1): n[i-1] += n[i] // 10 n[i] = n[i] % 10 return n if n[0] > 0 else n[1:] ob = Solution() print(ob.solve([9,9]))
Đầu vào
[9,9]
Đầu ra
[1, 0, 0]