精華區beta Marginalman 關於我們 聯絡資訊
題目: 在限定的bit範圍裡面 用一個k來xor 0~i的數字 讓數字最大 請問對於每個i 他的k是多少 思路: 先把每個0~i的xor都弄出來 然後再用一個都是1個東西來xor他 就可以知道那個地方的k是什麼了 ```cpp class Solution { public: vector<int> getMaximumXor(vector<int>& nums, int maximumBit) { int now = 0; int n = nums.size(); vector<int> res(n,0); for(int i = 0 ; i < n ; i ++) { now ^= nums[i]; } int oin = pow(2,maximumBit) - 1; for(int i = n-1 ; i >= 0 ; i --) { res[n-i-1] = now^oin; now ^= nums[i]; } return res; } }; ``` -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.162.123 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1731052183.A.399.html
Sougou: 別卷純軟了 11/08 15:51
JIWP: 你有什麼用 11/08 15:58
Meaverzt: 大師 11/08 16:37