Class Solution

java.lang.Object
g0801_0900.s0810_chalkboard_xor_game.Solution

public class Solution extends Object
810 - Chalkboard XOR Game.<p>Hard</p> <p>You are given an array of integers <code>nums</code> represents the numbers written on a chalkboard.</p> <p>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 <code>0</code>, then that player loses. The bitwise XOR of one element is that element itself, and the bitwise XOR of no elements is <code>0</code>.</p> <p>Also, if any player starts their turn with the bitwise XOR of all the elements of the chalkboard equal to <code>0</code>, then that player wins.</p> <p>Return <code>true</code> <em>if and only if Alice wins the game, assuming both players play optimally</em>.</p> <p><strong>Example 1:</strong></p> <p><strong>Input:</strong> nums = [1,1,2]</p> <p><strong>Output:</strong> false</p> <p><strong>Explanation:</strong></p> <p>Alice has two choices: erase 1 or erase 2.</p> <p>If she erases 1, the nums array becomes [1, 2].</p> <p>The bitwise XOR of all the elements of the chalkboard is 1 XOR 2 = 3.</p> <p>Now Bob can remove any element he wants, because Alice will be the one to erase the last element and she will lose.</p> <p>If Alice erases 2 first, now nums become [1, 1].</p> <p>The bitwise XOR of all the elements of the chalkboard is 1 XOR 1 = 0.</p> <p>Alice will lose.</p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> nums = [0,1]</p> <p><strong>Output:</strong> true</p> <p><strong>Example 3:</strong></p> <p><strong>Input:</strong> nums = [1,2,3]</p> <p><strong>Output:</strong> true</p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= nums.length <= 1000</code></li> <li><code>0 <= nums[i] < 2<sup>16</sup></code></li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • xorGame

      public boolean xorGame(int[] nums)