Class Solution
-
- All Implemented Interfaces:
public final class Solution1829 - Maximum XOR for Each Query.
Medium
You are given a sorted array
numsofnnon-negative integers and an integermaximumBit. You want to perform the following queryntimes:Find a non-negative integer <code>k < 2<sup>maximumBit</sup></code> such that
nums[0] XOR nums[1] XOR ... XOR nums[nums.length-1] XOR kis maximized.kis the answer to the <code>i<sup>th</sup></code> query.Remove the last element from the current array
nums.
Return an array
answer, whereanswer[i]is the answer to the <code>i<sup>th</sup></code> query.Example 1:
Input: nums = 0,1,1,3, maximumBit = 2
Output: 0,3,2,3
Explanation: The queries are answered as follows:
1<sup>st</sup> query: nums = 0,1,1,3, k = 0 since 0 XOR 1 XOR 1 XOR 3 XOR 0 = 3.
2<sup>nd</sup> query: nums = 0,1,1, k = 3 since 0 XOR 1 XOR 1 XOR 3 = 3.
3<sup>rd</sup> query: nums = 0,1, k = 2 since 0 XOR 1 XOR 2 = 3.
4<sup>th</sup> query: nums = 0, k = 3 since 0 XOR 3 = 3.
Example 2:
Input: nums = 2,3,4,7, maximumBit = 3
Output: 5,2,6,5
Explanation: The queries are answered as follows:
1<sup>st</sup> query: nums = 2,3,4,7, k = 5 since 2 XOR 3 XOR 4 XOR 7 XOR 5 = 7.
2<sup>nd</sup> query: nums = 2,3,4, k = 2 since 2 XOR 3 XOR 4 XOR 2 = 7.
3<sup>rd</sup> query: nums = 2,3, k = 6 since 2 XOR 3 XOR 6 = 7.
4<sup>th</sup> query: nums = 2, k = 5 since 2 XOR 5 = 7.
Example 3:
Input: nums = 0,1,2,2,5,7, maximumBit = 3
Output: 4,3,6,4,6,7
Constraints:
nums.length == n<code>1 <= n <= 10<sup>5</sup></code>
1 <= maximumBit <= 20<code>0 <= numsi< 2<sup>maximumBit</sup></code>
numsis sorted in ascending order.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntArraygetMaximumXor(IntArray nums, Integer maximumBit)-
-
Method Detail
-
getMaximumXor
final IntArray getMaximumXor(IntArray nums, Integer maximumBit)
-
-
-
-