Cho danh sách n các chữ số (0-9) biểu diễn số thập phân (ví dụ [2,4,9] = 249). Trả về danh sách mới sau khi cộng 1.
Ví dụ: [9,9] → [1,0,0].
Các bước giải quyết
- Thêm 0 vào đầu danh sách:
n = [0] + n - Tăng phần tử cuối lên 1
- Duyệt ngược từ cuối về đầu:
n[i-1] += n[i] // 10n[i] %= 10
- Trả về
nnếun[0] > 0ngược lạin[1:]
Ví dụ mã Python
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]