Given an integer array nums where every element appears three times except for one, which appears exactly once, find the single element and return it.
You must implement a solution with linear runtime complexity.
We use analytics and advertising cookies to understand how the site is used and whether our ads on Facebook and Instagram work. They are set only if you accept. See our Privacy Policy for details.
Given an integer array nums where every element appears three times except for one, which appears exactly once, find the single element and return it.
You must implement a solution with linear runtime complexity.
A medium bit manipulation problem, graded against 7 test cases (4 of them hidden).
XOR, masks, and shifts - constant-space tricks for counting and pairing.
Reach for it when you see: "Appears once/twice", powers of two, or an explicit O(1) space requirement.
More Bit Manipulation problems →Let `S` be the sum of distinct values and `T` the total sum. Tripling `S` counts every value three times, but the singleton actually contributed only once to `T` - the difference `3S - T` therefore equals exactly `2x` where `x` is the answer, so `x = (3S - T) / 2`. The division is always exact, so integer division is safe in both languages.
A classic alternative uses per-bit counters mod 3 for O(1) extra space, but it needs careful 32-bit sign handling (especially in Python); the set-sum approach is the cleanest correct O(n) solution.
The full reference solution in every supported language stays in the editor above - reveal it there once you have had a real attempt.
Read off this problem's own test suite, so these are the cases a submission actually has to survive.
These apply to the pattern as a whole, not just this problem.