Read-only web browser

Solutions

Browse the interview solutions folder with syntax highlighting.

missing-number.py

bit-manipulation/missing-number.py · Python · 886 B · 2026-03-15 10:38

Back to folder
# Sort, hash set, expected sum difference, or bit manipulation (xor)
# bit    

# math / expected sum: O(n) time, O(1) space
def missingNumber(nums: list[int]) -> int:
    expected_sum = sum([n for n in range(len(nums)+1)])
    actual_sum = sum(nums)
    return expected_sum - actual_sum
    
# bit manipulation: O(n) time, O(1) space
def missingNumber(nums: list[int]) -> int:
    xor = 0
    for n in range(len(nums)+1):
        xor ^= n

    for n in nums:
        xor ^= n
    return xor

# sorting: O(n lg n) time, O(1) space
def missingNumber(nums: list[int]) -> int:
    n = len(nums)
    nums.sort()
    for i in range(n):
        if nums[i] != i:
            return i
    return n

# hash set: O(n) time, O(n) space
def missingNumber(nums: list[int]) -> int:
    num_set = set(nums)
    n = len(nums)
    for i in range(n + 1):
        if i not in num_set:
            return i