Suppose we have an array called nums, containing decimal digits of a number. For example, [2, 5, 6] is for 256. We have to add 1 with this number and return the list in same format as before.
So, if the input is like nums = [2, 6, 9], then the output will be [2, 7, 0].
To solve this, we will follow these steps −
i := size of nums - 1
while i >= 0, do
if nums[i] + 1 <= 9, then
nums[i] := nums[i] + 1
come out from loop
otherwise,
nums[i] := 0
i := i - 1
if i < 0, then
insert 1 into nums at position 0
return nums
Example
Let us see the following implementation to get better understanding
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))
Input
[2, 6, 9]
Output
[2, 7, 0]