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

เพิ่มหนึ่งใน Python


สมมติว่าเรามีรายการจำนวนเต็มที่เรียกว่า n ซึ่งใช้แทนเลขฐานสิบ และ n[i] อยู่ระหว่าง [0, 9] ดังนั้น ถ้า n คือ [2, 4, 9] แทนตัวเลข 249 เราต้องหารายการเดียวกันในการแสดงเดียวกัน ยกเว้นการแก้ไขเพื่อให้เพิ่ม 1 ลงในตัวเลข

ดังนั้น หากอินพุตเป็น n =[9,9] เอาต์พุตจะเป็น [1, 0, 0]

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • n :=เพิ่ม 0 ที่จุดเริ่มต้นของ n

  • เพิ่มองค์ประกอบสุดท้ายของ n ขึ้น 1

  • สำหรับฉันในช่วงขนาด n - 1 ถึง 0, ลดลง 1 ทำ

    • n[i-1] :=n[i-1] + ผลหารของ (n[i] / 10)

    • n[i] :=n[i] mod 10

  • คืนค่า n ถ้า n[0]> 0 มิฉะนั้น n จากดัชนี 1 ถึงสิ้นสุด

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

class Solution:
   def solve(self, n):
      n = [0] + n
      n[-1] += 1
      for i in range(len(n) - 1, 0, -1):
         n[i-1] += n[i] // 10
         n[i] = n[i] % 10
      return n if n[0] > 0 else n[1:]
ob = Solution()
print(ob.solve([9,9]))

อินพุต

[9,9]

ผลลัพธ์

[1, 0, 0]