Todo

Check the neetcode solution for this one, as it is more elegant than yours

Neetcode

class Solution:
    def missingNumber(self, nums: List[int]) -> int:
        res = len(nums)
 
        for i in range(len(nums)):
            res += i - nums[i]
        return res

My Code

class Solution:
    def missingNumber(self, nums: List[int]) -> int:
        nums_dict = dict()
        n = len(nums)
        
        for i in range(n + 1):
            nums_dict[i] = False
        
        for i in range(n):
            nums_dict[nums[i]] = True
 
        for i in range(n + 1):
            if nums_dict[i] == False:
                return i
        
        return -1

My Code O(nlogn)

class Solution:
    def missingNumber(self, nums: List[int]) -> int:
        nums = sorted(nums)
        n = len(nums)
        
        count = 0
        for i in range(n):
            if i != nums[i]:
                return i
        
        return n

My Code

class Solution:
    def missingNumber(self, nums: List[int]) -> int:
        n = len(nums)
        
        for i in range(n):
            if i not in nums:
                return i
        
        return n

References

https://leetcode.com/problems/missing-number/submissions/883171174/