--- layout: page title: Maximum XOR of Two Numbers in an Array last_solved: category: bits leetcode_url: https://leetcode.com/problems/maximum-xor-of-two-numbers-in-an-array/ status: Attempted --- Problem ------- ``` Given a non-empty array of numbers, a0, a1, a2, … , an-1, where 0 ≤ ai < 231. Find the maximum result of ai XOR aj, where 0 ≤ i, j < n. Could you do this in O(n) runtime? Example: Input: [3, 10, 5, 25, 2, 8] Output: 28 Explanation: The maximum result is 5 ^ 25 = 28. ``` Solution ---------- {% highlight python %} def findMaximumXOR(self, nums: List[int]) -> int: output, mask = 0,0 for i in range(4,-1,-1): mask = mask | (1<