[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


posted @ 2021-05-22 17:26  Calculus9  阅读(39)  评论(0编辑  收藏  举报