假设我们有一个称为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]