Skip to content

Latest commit

 

History

History
62 lines (45 loc) · 1.8 KB

File metadata and controls

62 lines (45 loc) · 1.8 KB

421. 数组中两个数的最大异或值

给你一个整数数组 nums ,返回 nums[i] XOR nums[j] 的最大运算结果,其中 0 ≤ i ≤ j < n

示例 1:

输入:nums = [3,10,5,25,2,8]
输出:28
解释:最大运算结果是 5 XOR 25 = 28.

示例 2:

输入:nums = [14,70,53,83,49,91,36,80,92,51,66,70]
输出:127

提示:

  • 1 <= nums.length <= 2 * 105

  • 0 <= nums[i] <= 231 - 1+

思路分析

最初的思路将数组排序,从最大数字开始,寻找可以补齐地位为 0 的小数。看题解发现,应该是补齐尽可能高的 0 所在的位置。

{image_attr}
一刷
link:{sourcedir}/_0421_MaximumXorOfTwoNumbersInAnArray.java[role=include]