LeetCode 421. 数组中两个数的最大异或值(Maximum XOR of Two Numbers in an Array) 71

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;
}
}

参考资料

上一篇:Java实现 LeetCode 421 数组中两个数的最大异或值


下一篇:你分得清楚Maven的聚合和继承吗?