DEV Community

Cover image for LeetCode DSA Series #6: 268. Missing Number
David Babalola
David Babalola

Posted on

LeetCode DSA Series #6: 268. Missing Number

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]
Enter fullscreen mode Exit fullscreen mode

What better ways could I have solved this? Please let me know

Top comments (0)