[810] 黑板异或游戏
首先存在两种情况,Alice会获胜。
1.所有数的异或和为0
2.数的个数为偶数,那么无论如何一旦最后没有数了,就获胜了。
数组存在两种状态,
1°奇数
-
1.1异或和为0,此时胜利。
-
1.2异或和不为0,当我拿走了一个数时,无论是否使得剩下的数异或和为0,都会使得剩下的数的个数变为偶数,那么此时Bob必胜。
2°偶数:必胜
可知,当前数组长度为偶数或最开始异或和为0时,可以得到Alice获胜的局面。
/*
* @lc app=leetcode.cn id=810 lang=javascript
*
* [810] 黑板异或游戏
*/
// @lc code=start
/**
* @param {number[]} nums
* @return {boolean}
*/
var xorGame = function(nums) {
if(nums.length%2===0) return true;
let ans=0;
for(const num of nums)
{
ans^=num;
}
return ans===0;
};
// @lc code=end