Find the Unique Element in an Array (XOR Trick)

In an array where every element appears twice except for one, finding that unique element is a classic coding interview challenge. While you could use a hash map, bitwise XOR provides an O(1) space solution.

 

Problem Statement

Given a non-empty array of integers nums, every element appears twice except for one. Find that single one.

 

Example

Input: nums = [4, 1, 2, 1, 2]

Output: 4

Explanation: All numbers appear twice except for 4.

 

The XOR Property

XOR (^) has specific properties that make it perfect for this:

  • Self-Cancellation: x ^ x = 0. A number XORed with itself becomes zero.
  • Identity: x ^ 0 = x. XORing any number with zero keeps the number unchanged.
  • Commutative: Order doesn't matter (a ^ b ^ a is the same as a ^ a ^ b).

 

XOR Unique Element Logic

 

Python Implementation

def find_single_number(nums):
    result = 0
    for n in nums:
        result ^= n
    return result

# Test
print(find_single_number([4, 1, 2, 1, 2])) # Output: 4

 

Complexity

  • Time Complexity: O(N) - We traverse the array once.
  • Space Complexity: O(1) - We only use one variable to store the result.

Share Your Thoughts

Read More

Check if a Number is Power of Two
Count Set Bits in an Integer (Brian Kernighan’s Algorithm)
Browse all Bit Manipulation articles

Stay Ahead

Only insights that save you time or money. No fluff, ever.

Stay Ahead

Only insights that save you time or money. No fluff.