The array-form of an integer num is an array representing its digits in left to right order.
For example, for num = 1321, the array form is [1,3,2,1].
Given num, the array-form of an integer, and an integer k, return the array-form of the integer num + k.
Example 1:
Input: num = [1,2,0,0], k = 34
Output: [1,2,3,4]
Explanation: 1200 + 34 = 1234
Example 2:
Input: num = [2,7,4], k = 181
Output: [4,5,5]
Explanation: 274 + 181 = 455
Example 3:
Input: num = [2,1,5], k = 806
Output: [1,0,2,1]
Explanation: 215 + 806 = 1021
Example 4:
Input: num = [9,9,9,9,9,9,9,9,9,9], k = 1
Output: [1,0,0,0,0,0,0,0,0,0,0]
Explanation: 9999999999 + 1 = 10000000000
Constraints:
1 <= num.length <= 104
0 <= num[i] <= 9
num does not contain any leading zeros except for the zero itself.
1 <= k <= 104
in python, there is no issue with int overflow, so you can convert num to int A and perform sum = A+K, then convert the sum to a new list
add from the last value in arraylist, let carry = sum // 10, if carry is larger than 0, we add it to the left value or add to the front.
simple idea: current value = num.current + K.current + carry
989 Add to Array-Form of Integer
Click here to redirect to leetcode
Description
Approach 1
Intuition Algorithm
in python, there is no issue with int overflow, so you can convert num to int A and perform sum = A+K, then convert the sum to a new list
Implementation
Complexity Analysis
Time complexity: O(N)
Space complexity: O(N)
Approach 2
Intuition Algorithm
add from the last value in arraylist, let carry = sum // 10, if carry is larger than 0, we add it to the left value or add to the front.
simple idea: current value = num.current + K.current + carry
Implementation
Complexity Analysis
Time complexity: O(N)
Space complexity: O(N)