題目描述:
乙個黑板上寫著乙個非負整數陣列 nums[i] 。小紅和小明輪流從黑板上擦掉乙個數字,小紅先手。如果擦除乙個數字後,剩餘的所有數字按位異或運算得出的結果等於 0 的話,當前玩家遊戲失敗。 (另外,如果只剩乙個數字,按位異或運算得到它本身;如果無數字剩餘,按位異或運算結果為 0。)
換種說法就是,輪到某個玩家時,如果當前黑板上所有數字按位異或運算結果等於 0,這個玩家獲勝。
假設兩個玩家每步都使用最優解,當且僅當小紅獲勝時返回 true。
示例:輸入: nums = [1, 1, 2]
輸出: false
解釋:小紅有兩個選擇: 擦掉數字 1 或 2。
如果擦掉 1, 陣列變成 [1, 2]。剩餘數字按位異或得到 1 xor 2 = 3。那麼小明可以擦掉任意數字,因為小紅會成為擦掉最後乙個數字的人,她總是會輸。
如果小紅擦掉 2,那麼陣列變成[1, 1]。剩餘數字按位異或得到 1 xor 1 = 0。小紅仍然會輸掉遊戲。
1 <= n <= 1000
0 <= nums[i] <= 2^16
看看別人解釋,又是一道數學題…
新增鏈結描述
**:
class solution if(sum==0)return true; return nums.length%2==0?true:false;
}}
810 黑板異或遊戲
乙個黑板上寫著乙個非負整數陣列 nums i 小紅和小明輪流從黑板上擦掉乙個數字,小紅先手。如果擦除乙個數字後,剩餘的所有數字按位異或運算得出的結果等於 0 的話,當前玩家遊戲失敗。另外,如果只剩乙個數字,按位異或運算得到它本身 如果無數字剩餘,按位異或運算結果為 0。換種說法就是,輪到某個玩家時,...
810 黑板異或遊戲
思路 這個題感覺更像是數學推導,這裡我注意到題目的 假設兩個玩家每步都是用最優解 疑問這個最優解是個什麼意思。首先我們來推導一下,假如去掉乙個數讓剩下的數異或為0,根據異或的性質 相同的數異或為0 and 任何數與0異或還是本身 可以得到下面的式子 xorsum是所有數異或的結果,nums i 在這...
數學 A100 LC 黑板異或遊戲(猜題意)
乙個黑板上寫著乙個非負整數陣列 nums i 小紅和小明輪流從黑板上擦掉乙個數字,小紅先手。如果擦除乙個數字後,剩餘的所有數字按位異或運算得出的結果等於 0 的話,當前玩家遊戲失敗。另外,如果只剩乙個數字,按位異或運算得到它本身 如果無數字剩餘,按位異或運算結果為 0。換種說法就是,輪到某個玩家時,...