Steward
分享是一種喜悅、更是一種幸福
程式語言 - LeetCode - C++ - 421. Maximum XOR of Two Numbers in an Array
參考資訊:
https://www.cnblogs.com/grandyang/p/5991530.html
題目:

解答:
class Solution {
public:
int findMaximumXOR(vector<int>& nums) {
int ans = 0;
int mask = 0;
for (int i = 31; i >= 0; --i) {
unordered_set<int> nm;
mask |= (1 << i);
for (int n : nums) {
nm.insert(n & mask);
}
int t = ans | (1 << i);
for (int n : nm) {
if (nm.count(n ^ t)) {
ans = t;
break;
}
}
}
return ans;
}
};