Menu
CoddyTech

Plus One

Một số nguyên không âm được lưu dưới dạng mảng các chữ số thập phân, digits, với chữ số có giá trị lớn nhất đứng trước: 472 là [4, 7, 2]. Hãy cộng thêm một vào số đó rồi trả về các chữ số của kết quả theo cùng định dạng. Số này có thể có tới 100 chữ số, nhiều hơn rất nhiều so với sức chứa của số nguyên 64 bit.

Hàm

plusOne(digits: integer-array) → integer-array
digitsinteger-array
các chữ số của số đó, từ chữ số có giá trị lớn nhất đến chữ số có giá trị nhỏ nhất
Trả vềinteger-array
các chữ số của số đó cộng thêm một, theo thứ tự từ chữ số có giá trị lớn nhất đến chữ số có giá trị nhỏ nhất

Ràng buộc

  • 1 ≤ digits.length ≤ 100
  • 0 ≤ digits[i] ≤ 9
  • digits không có số 0 ở đầu, ngoại trừ chính số 0, được viết là [0].

Ví dụ

Đầu vào
digits = [4, 3, 9]
Đầu ra
[4, 4, 0]
Giải thích
Số đó là 439, và 439 + 1 = 440. Chữ số cuối cùng 9 chuyển thành 0 và chuyển số nhớ sang chữ số 3, khiến nó thành 4.
challenge icon

Câu hỏi mở rộng

Bạn sẽ trừ đi một như thế nào nếu số đó lớn hơn hoặc bằng 1? Khi nào kết quả mất chữ số đầu tiên, như trong [1, 0, 0]?

Đặt lại code
def plusOne(digits):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

digits = [4, 3, 9]

Đầu ra mong đợi

[4, 4, 0]