The problem I solved is 268. Missing Number. It is also an easy problem.
For this problem, I solved it in three different ways, with one approach yielding a clear performance advantage.
Here is the code showing the 3 approaches.
class Solution:
def missingNumber(self, nums: List[int]) -> int:
n = len(nums)
# Method 1
# Runtime 8 ms Beats 27.81% | Memory 21.57MB Beats 5.11%
#-----------------------------------------------
sequence = range(0, n+1)
sequence = set(sequence)
diff = set(sequence) - set(nums)
return diff.pop()
# Method 2
# Runtime: 1399 ms Beats 5.10% | Memory 20.65MB Beats 5.11%
#--------------------------------------------------
# for i in range(0, n+1):
# if i not in nums:
# return i
# Method 3
# Runtime 1506 ms Beats 5.10% | Memory 20.45MB Beats 5.11%
#----------------------------------------------------
# sequence = list(range(0, n+1))
# for num in nums:
# sequence.remove(num)
# return sequence[0]
What better ways could I have solved this? Please let me know
Top comments (0)