1829
這兩天都bitwise好好玩
##
一次少一個 先做prefix sum
xor k完找max, k < 2^mxbit
意思就是xor完 mxbit以下都是1
做一個mxbit都是1的mask
presum xor k = max result = presum or mask
所以 presum xor maxresult = k
然後順序反了==翻一下
class Solution {
public:
vector<int> getMaximumXor(vector<int>& nums, int mxb) {
int n = nums.size();
vector<int> res(n, 0);
res[0] = nums[0];
int mask = (1 << mxb) - 1;
//presum
for(int i = 1; i < n; i++){
res[i] = nums[i] ^ res[i-1];
}
for(int i = n-1; i >= 0; i