Danh sách

Cộng một đơn vị vào số nguyên mảng (Plus One)

Dễ
Mảng & Chuỗi (Arrays & Strings) 800ms 128MB

Cho một số nguyên dương lớn được biểu diễn dưới dạng một mảng các chữ số digits, trong đó mỗi digits[i] là một chữ số từ 0 đến 9. Chữ số có trọng số cao nhất (hàng lớn nhất) nằm ở đầu mảng.

Hãy cộng thêm 1 vào số nguyên đó và trả về mảng kết quả của các chữ số.

Ví dụ 1:

Input: digits = [1, 2, 3]
Output: [1, 2, 4]
Giải thích: 123 + 1 = 124.

Ví dụ 2:

Input: digits = [9, 9]
Output: [1, 0, 0]
Giải thích: 99 + 1 = 100.
Định Dạng Đầu Vào (Input)
Một dòng chứa mảng các chữ số digits
Định Dạng Đầu Ra (Output)
Mảng chữ số sau khi đã cộng 1
Ràng Buộc (Constraints)
  • 1 <= digits.length <= 100
  • 0 <= digits[i] <= 9
Ví Dụ Kiểm Thử Mẫu
Ví dụ 1:
Input:
[1, 2, 3]
Output:
[1, 2, 4]
Giải thích: 123 + 1 = 124
Ví dụ 2:
Input:
[9, 9]
Output:
[1, 0, 0]
Giải thích: 99 + 1 = 100
Gợi ý được sắp xếp theo cấp độ tiến dần. Hãy mở từng gợi ý khi bạn thực sự cần thêm định hướng.

Kỹ thuật Xử Lý Nhớ Từ Phải Sang Trái O(n)

Duyệt từ cuối mảng về đầu. Nếu digits[i] < 9, tăng thêm 1 và trả về kết quả ngay lập tức. Nếu bằng 9, gán thành 0 và tiếp tục sang trái. Nếu hết mảng mà vẫn còn nhớ (ví dụ 999), thêm 1 vào đầu mảng.

Vui lòng đăng nhập

Đăng nhập tài khoản học viên để xem lịch sử nộp bài của bạn.

Đăng nhập
Ctrl + Enter: Chạy thử
Dữ liệu đầu vào (Input):
[1, 2, 3]
Kết quả kỳ vọng (Expected Output):
[1, 2, 4]
Dữ liệu đầu vào (Input):
[9, 9]
Kết quả kỳ vọng (Expected Output):
[1, 0, 0]
Nhập STDIN của bạn (Mỗi dòng một tham số):

Bấm Chạy thử để kiểm tra các bộ test mẫu hoặc Nộp bài để chấm điểm chính thức.

Đang gửi mã và thực thi trên Sandbox Engine...
Nhấn Ctrl+Enter để chạy

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học