在 Python 中加一

pythonserver side programmingprogramming更新于 2025/11/3 13:32:17

假设我们有一个名为 n 的整数列表,它表示一个十进制数,n[i] 介于 [0, 9] 之间。因此,如果 n 为 [2, 4, 9],则表示数字 249。我们必须找到相同表示形式的相同列表,但进行了修改,以便将 1 添加到数字中。

因此,如果输入为 n = [9,9],则输出将为 [1, 0, 0]

为了解决这个问题,我们将遵循以下步骤 −

  • n := 在 n 的开头添加 0

  • 将 n 的最后一个元素增加 1

  • 对于 n - 1 到 0 范围内的 i,减少 1,然后执行

    • n[i-1] := n[i-1] + (n[i] / 10)

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

  • 如果 n[0] > 0,则返回 n,否则从索引 1 到末尾返回 n

让我们看看以下实现,以便更好地理解 −

示例

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]

相关文章


有用资源