Maximum XOR of Two Numbers in an Array
Input: [3, 10, 5, 25, 2, 8]
Output: 28
Explanation: The maximum result is 5 ^ 25 = 28.class Solution:
def findMaximumXOR(self, nums: List[int]) -> int:
ans = 0
for i in range(32)[::-1]:
prevs = [n>>i for n in nums]
ans <<= 1
ans += any(ans^1^p in prevs for p in prevs)
return ansLast updated