← Bit Manipulation

Missing Number XOR

Easy
Python
def missing_number(nums):
    result=len(nums)
    for i,n in enumerate(nums):
        result^=i^n
    return result
Java
public int missingNumber(int[] nums){
    int result=nums.length;
    for(int i=0;i<nums.length;i++)
        result^=i^nums[i];
    return result;
}

Key Insight

XOR approach. enumerate vs manual index.

Python → Java Differences

  • enumerate vs manual index
  • XOR cancellation identical
  • O(1) space
Python
def missing_number(nums):
    result=len(nums)
    for i,n in enumerate(nums):
        result^=i^n
    return result
Java
public int missingNumber(int[] nums){
    int result=nums.length;
    for(int i=0;i<nums.length;i++)
        result^=i^nums[i];
    return result;
}

Algorithm Steps

1. XOR all indices and values
2. Missing appears once