First Missing Positive

41. First Missing Positive | Hard

Runtime: 36 ms, faster than 99.96% of Python3 online submissions for First Missing Positive.

class Solution:
    def firstMissingPositive(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        numm = {}
        for num in nums:
            if num > 0:
                numm[num] = 1
        
        counter = 1
        for _ in range(len(numm)):
            if counter in nums and numm[counter]:
                counter += 1
                
        return counter