Cho mảng nums chứa các chữ số thập phân của một số (ví dụ: [2,5,6] = 256). Cộng 1 vào số này và trả về mảng chữ số mới.
Ví dụ: → kết quả .
Thuật toán giải quyết (Duyệt ngược O(n))
- Khởi tạo
- Khi
= 0:- Nếu
:, dừng - Ngược lại:
,(nhớ)
- Nếu
- Nếu
(tràn số): chènvào đầu mảng - Trả về
Ví dụ minh họa
def solve(nums):
i = len(nums) - 1
while i >= 0:
if nums[i] + 1 <= 9:
nums[i] = nums[i] + 1
break
else:
nums[i] = 0
i -= 1
if i < 0:
nums.insert(0, 1)
return nums
nums = [2, 6, 9]
print(solve(nums))
Đầu vào
[2, 6, 9]
Đầu ra
[2, 7, 0]