Python程式:將以數字列表表示的數字加一


假設我們有一個名為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

      • i := i - 1

  • 如果 i < 0,則

    • 在 nums 的第 0 位插入 1

  • 返回 nums

示例

讓我們看看下面的實現以更好地理解

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]

更新於:2021年10月11日

661 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.