สมมติว่าเรามีอาร์เรย์ที่เรียกว่า nums ซึ่งมีทศนิยมของตัวเลข ตัวอย่างเช่น [2, 5, 6] เท่ากับ 256 เราต้องบวก 1 ด้วยตัวเลขนี้และส่งคืนรายการในรูปแบบเดิม
ดังนั้น หากอินพุตเป็น nums =[2, 6, 9] เอาต์พุตจะเป็น [2, 7, 0]
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
i :=ขนาดของ nums - 1
-
ในขณะที่ i>=0, ทำ
-
ถ้า nums[i] + 1 <=9 แล้ว
-
nums[i] :=nums[i] + 1
-
ออกจากวง
-
-
มิฉะนั้น
-
nums[i] :=0
-
ผม :=ผม - 1
-
-
-
ถ้าฉัน <0 แล้ว
-
ใส่ 1 ลงใน nums ที่ตำแหน่ง 0
-
-
ส่งคืนหมายเลข
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น
def solve(nums): i = len(nums) - 1 while i >= 0: if nums[i] + 1 <= 9: nums[i] = nums[i] + 1 break else: nums[i] = 0 i -= 1 if i < 0: nums.insert(0, 1) return nums nums = [2, 6, 9] print(solve(nums))
อินพุต
[2, 6, 9]
ผลลัพธ์
[2, 7, 0]