# Links

Go to my solution

Go to the question on LeetCode

# My Thoughts

**What Went Well**

Surprisingly, my program was able to rank highly in solution statistics.

**What I Learned**

I learned multiple unique ways to mutate arrays, strings, and maps.

**Comments**

I knew this would not be the “optimal” solution, but I wanted to try and find the most Pythonic solution possible.

# Solution Statistics

**Time Spent Coding**

10

**Time Complexity**

O(n) - Although there are six O(n) operations, we ignore multiples of n, resulting in the O(n) time complexity.

**Space Complexity**

O(n) - The function creates a map which is a duplicate of each element in the list, resulting in the O(n) space complexity.

**Runtime Beats**

88.42% of other submissions

**Memory Beats**

93.81% of other sumbissions

# Solution

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
# # Convert each element of digits into a string
# step1 = map(str,digits) # O(n)
# # Join elements into a string
# step2 = "".join(step1) # O(n)
# # Convert string to an int
# step3 = int(step2) # O(n)
# # Add one to the int
# step4 = step3 + 1 # O(1)
# # Convert int to string
# step5 = str(step4) # O(n)
# # Make each character of the string into an element of an array
# step6 = [*step5] # O(n)
# # Convert each element in the array into an integer
# step7 = map(int,step6) # O(n)
# # Return the "array" (It actually returns a map object)
# return step7
return map(int,[*str(int("".join(map(str,digits))) + 1)])