สมมติว่าเรามีอาร์เรย์ของจำนวนเต็ม สมมติว่า A. A จะเก็บองค์ประกอบ n ไว้ n องค์ประกอบและไม่เป็นค่าลบ อาร์เรย์ A ทั้งหมดเป็นตัวแทนของตัวเลขจำนวนมาก ดังนั้นหากให้ A =[5, 3, 2, 4] แสดงว่าเป็นตัวเลข 5324 เราต้องใช้อาร์เรย์ A นั้น จากนั้นเพิ่มจำนวนขึ้น 1 แล้วส่งคืนตัวเลขอีกครั้งเหมือนอาร์เรย์ตามที่กำหนด ดังนั้นหลังจากเพิ่ม A จะเป็น [5, 3, 2, 5]
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้
- นำอาร์เรย์และผนวกอักขระแต่ละตัวลงในสตริงเพื่อให้เป็นสตริง
- จากนั้นแปลงสตริงเป็นจำนวนเต็ม แล้วเพิ่มจำนวนขึ้น 1
- จากนั้นแยกแต่ละหลักและสร้างอาร์เรย์อื่น
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง (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))
อินพุต
digits = [5,3,2,4]
ผลลัพธ์
[5,3,2,5]