Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

บวกหนึ่งใน Python

สมมติว่าเรามีอาร์เรย์ของจำนวนเต็ม คือ A A จะมี 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]