XOR After Range Multiplication Queries I
You receive an integer array nums of length n and a 2D integer array queries of size q, where queries[i] = [l i, r i, k i, v i ].
For each query, you must apply the following operations in order:
-
Set
idx = l i. -
While
idx <= r i:-
Update:
nums[idx] = (nums[idx] * v i ) % (10^9 + 7) -
Set
idx += k i.
-
Produce the bitwise XOR of all elements in nums after processing all queries.
Input: nums = [1,1,1], queries = [[0,2,1,4]]
Output: 4
Explanation:
-
A single query
[0, 2, 1, 4]multiplies every element from index 0 through index 2 by 4. -
The array changes from
[1, 1, 1]to[4, 4, 4]. -
The XOR of all elements is
4 ^ 4 ^ 4 = 4.
Input: nums = [2,3,1,5,4], queries = [[1,4,2,3],[0,2,1,2]]
Output: 31
Explanation:
-
The first query
[1, 4, 2, 3]multiplies the elements at indices 1 and 3 by 3, transforming the array to[2, 9, 1, 15, 4]. -
The second query
[0, 2, 1, 2]multiplies the elements at indices 0, 1, and 2 by 2, resulting in[4, 18, 2, 15, 4]. -
Finally, the XOR of all elements is
4 ^ 18 ^ 2 ^ 15 ^ 4 = 31.
Constraints
1 <= n == nums.length <= 10^31 <= nums[i] <= 10^91 <= q == queries.length <= 10^3queries[i] = [l i, r i, k i, v i ]0 <= l i <= r i < n1 <= k i <= n1 <= v i <= 10^5
Did this problem appear in one of your interviews?
Responses stay private.
