421. 数组中两个数的最大异或值
421. Maximum XOR of Two Numbers in an Array题目描述
给定一个非空数组,数组中元素为 a0, a1, a2, … , an-1,其中 0 ≤ ai < 231。找到 ai 和 aj 最大的异或 (XOR) 运算结果,其中 0 ≤ i,j < n。
你能在 O(n) 的时间解决这个问题吗?
每日一算法2019/7/13Day 71LeetCode421. Maximum XOR of Two Numbers in an Array
示例:
输入: [3, 10, 5, 25, 2, 8] 输出: 28 解释: 最大的结果是 5 ^ 25 = 28。
Java 实现
class Solution { public int findMaximumXOR(int[] nums) { int max = 0; for (int i = 0; i < nums.length - 1; i++) { for (int j = i + 1; j < nums.length; j++) { if ((nums[i] ^ nums[j]) > max) { max = nums[i] ^ nums[j]; } } } return max; }}
参考资料