| 123456789101112131415161718 | func findMaximumXOR(nums []int) int {	max, mask := 0, 0	for i := 31; 0 <= i; i-- { // Check max & 1<<i is 1 or 0		m := make(map[int]bool)		mask |= 1 << uint(i)		for _, n := range nums {			m[n&mask] = true // Get the top n digit of nums as prefix set		}		tmp := max | 1<<uint(i) // Assume that c == max | 1<<i, for each a, find if b is in prefix set		for k := range m {			if _, ok := m[tmp^k]; ok {				max = tmp				break			}		}	}	return max}
 |