LeetCode 810, Hard. Topics: Array, Math, Bit Manipulation, Brainteaser, Game Theory. View on LeetCode.
Generate this problem as a practice environment: tested reference solution, 32 parametrized pytest cases, and a playground notebook:
Problem
You are given an array of integers nums represents the numbers written on a chalkboard.
Alice and Bob take turns erasing exactly one number from the chalkboard, with Alice starting first. If erasing a number causes the bitwise XOR of all the elements of the chalkboard to become 0, then that player loses. The bitwise XOR of one element is that element itself, and the bitwise XOR of no elements is 0.
Also, if any player starts their turn with the bitwise XOR of all the elements of the chalkboard equal to 0, then that player wins.
Return true if and only if Alice wins the game, assuming both players play optimally.
Examples
Constraints
- 1 <= nums.length <= 1000
- 0 <= nums[i] < 2^16
Solution
Reference implementation from solution.py on GitHub, full suite in test_solution.py:
Complexity
Last modified on September 7, 2026