leetcode算法題–黑板異或游戲
題目:黑板上寫(xiě)著一個(gè)非負(fù)整數(shù)數(shù)組 nums[i] 。Alice 和 Bob 輪流從黑板上擦掉一個(gè)數(shù)字,Alice 先手。如果擦除一個(gè)數(shù)字后,剩余的所有數(shù)字按位異或運(yùn)算得出的結(jié)果等于 0 的話,當(dāng)前玩家游戲失敗。 (另外,如果只剩一個(gè)數(shù)字,按位異或運(yùn)算得到它本身;如果無(wú)數(shù)字剩余,按位異或運(yùn)算結(jié)果為 0。)并且,輪到某個(gè)玩家時(shí),如果當(dāng)前黑板上所有數(shù)字按位異或運(yùn)算結(jié)果等于 0,這個(gè)玩家獲勝。假設(shè)兩個(gè)玩家每步都使用最優(yōu)解,當(dāng)且僅當(dāng) Alice 獲勝時(shí)返回 true。
文章目錄
leetcode算法題--黑板異或游戲
1.示例
2.提示
3、題目來(lái)源
二、代碼
1.示例
????輸入: nums = [1, 1, 2]?
????輸出: false?
????解釋:
Alice 有兩個(gè)選擇: 擦掉數(shù)字 1 或 2。
如果擦掉 1, 數(shù)組變成 [1, 2]。剩余數(shù)字按位異或得到 1 XOR 2 = 3。那么 Bob 可以擦掉任意數(shù)字,因?yàn)?Alice 會(huì)成為擦掉最后一個(gè)數(shù)字的人,她總是會(huì)輸。
如果 Alice 擦掉 2,那么數(shù)組變成[1, 1]。剩余數(shù)字按位異或得到 1 XOR 1 = 0。Alice 仍然會(huì)輸?shù)粲螒颉?/code>
2.提示
????1 <= N <= 1000?
????0 <= nums[i] <= 2^16
3、題目來(lái)源
????來(lái)源:力扣(LeetCode)?
????鏈接:https://leetcode-cn.com/problems/top-k-frequent-words
二、代碼
????// ?Alice勝利要滿足以下兩個(gè)條件中的一個(gè)
????// 1、nums數(shù)組全部元素按位異或,結(jié)果為0
????// 2、nums數(shù)組長(zhǎng)度為偶數(shù)
