Single Number

Problem

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

You must implement a solution with a linear runtime complexity and use only constant extra space.

Example 1:

Input: nums = [2,2,1]
Output: 1
Example 2:

Input: nums = [4,1,2,1,2]
Output: 4
Example 3:

Input: nums = [1]
Output: 1

Constraints:

  • 1 <= nums.length <= 3 * 10^4
  • -3 10^4 <= nums[i] <= 3 10^4
  • Each element in the array appears twice except for one element which appears only once.

Solution

Relies on that xor trick. Related.

class Solution {
    public int singleNumber(int[] nums) {
        var counter = 0;
        for (var n : nums) {
            counter ^= n;
        }
        return counter;
    }
}

Recent posts from blogs that I like

Two different tricks for fast LLM inference

Anthropic and OpenAI both recently announced “fast mode”: a way to interact with their best coding model at significantly higher speeds.

These two versions of fast mode are very different. Anthropic’s offers up to 2.5x tokens per second (so around 170, up from Opus 4.6’s 65). OpenAI’s offers more th...

via Sean Goedecke

Paintings of Capri: 1828-1879

Views of its dramatic coastline, high cliffs, and natural rock arches, by Albert Bierstadt, Haseltine, John Singer Sargent, and others.

via The Eclectic Light Company

The evolution of OpenAI's mission statement

via Simon Willison