Advertisement
1310. XOR Queries of a Subarray
MediumView on LeetCode
Time: O(n + q)
Space: O(n)
Approach
Build XOR prefix array; each query [l, r] is answered by prefix[l] ^ prefix[r+1].
1310.cs
C#
// Approach: Build XOR prefix array; each query [l, r] is answered by prefix[l] ^ prefix[r+1].
// Time: O(n + q) Space: O(n)
public class Solution
{
public int[] XorQueries(int[] arr, int[][] queries)
{
int n = arr.Length;
int[] prefix = new int[n + 1];
for (int i = 0; i < n; i++)
prefix[i + 1] = prefix[i] ^ arr[i];
int j = 0;
int[] ans = new int[queries.Length];
foreach (int[] query in queries)
{
int left = query[0];
int right = query[1];
ans[j++] = prefix[left] ^ prefix[right + 1];
}
return ans;
}
}Advertisement
Was this solution helpful?