1707. 与数组中元素的最大异或值
难度困难66
给你一个由非负整数组成的数组 nums 。另有一个查询数组 queries ,其中 queries[i] = [xi, mi] 。
第 i 个查询的答案是 xi 和任何 nums 数组中不超过 mi 的元素按位异或(XOR)得到的最大值。换句话说,答案是 max(nums[j] XOR xi) ,其中所有 j 均满足 nums[j] <= mi 。如果 nums 中的所有元素都大于 mi,最终答案就是 -1 。
返回一个整数数组 answer 作为查询的答案,其中 answer.length == queries.length 且 answer[i] 是第 i 个查询的答案。
示例 1:
1 | 输入:nums = [0,1,2,3,4], queries = [[3,1],[1,3],[5,6]] |
示例 2:
1 | 输入:nums = [5,2,4,6,6,3], queries = [[12,4],[8,1],[6,3]] |
提示:
1 <= nums.length, queries.length <= 105queries[i].length == 20 <= nums[j], xi, mi <= 10^9
前缀树
1 | class Solution { |