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 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告