Giả sử chúng ta có một mảng các số nguyên, giả sử A. A sẽ chứa n phần tử và chúng không âm. Toàn bộ mảng A đại diện cho một số lớn. Vì vậy, nếu A =[5, 3, 2, 4] được đưa ra, nó chỉ ra số 5324. Chúng ta phải lấy mảng A đó, sau đó tăng số lên 1, và lại trả về số giống như một mảng như đã cho. Vậy sau khi tăng A sẽ là [5, 3, 2, 5]
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau.
- Lấy mảng và nối từng ký tự vào một chuỗi để làm cho nó thành chuỗi
- sau đó chuyển đổi chuỗi thành số nguyên, sau đó tăng số lượng lên 1
- sau đó tách từng chữ số và tạo một mảng khác
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ (Python)
class Solution(object): def plusOne(self, digits): """ :type digits: List[int] :rtype: List[int] """ num = "" for i in digits: num +=str(i) num = int(num) num+=1 num = str(num) ans = [] for i in num: ans.append(int(i)) return ans digits = [5,3,2,4] ob1 = Solution() print(ob1.plusOne(digits))
Đầu vào
digits = [5,3,2,4]
Đầu ra
[5,3,2,5]