首页 > 其他 > 详细

[810] 黑板异或游戏

时间:2021-05-22 23:26:12      阅读:28      评论:0      收藏:0      [点我收藏+]

首先存在两种情况,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


[810] 黑板异或游戏

原文:https://www.cnblogs.com/Calculus9/p/14799318.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!