1310 - XOR Queries of a Subarray
C++
class Solution { public: vector<int> xorQueries(vector<int>& arr, vector<vector<int>>& queries) { int n = arr.size(); int s[n + 1]; memset(s, 0, sizeof(s)); for (int i = 1; i <= n; ++i) { s[i] = s[i - 1] ^ arr[i - 1]; } vector<int> ans; for (auto& q : queries) { int l = q[0], r = q[1]; ans.push_back(s[r + 1] ^ s[l]); } return ans; } };
JAVA
class Solution { public int[] xorQueries(int[] arr, int[][] queries) { int n = arr.length; int[] s = new int[n + 1]; for (int i = 1; i <= n; ++i) { s[i] = s[i - 1] ^ arr[i - 1]; } int m = queries.length; int[] ans = new int[m]; for (int i = 0; i < m; ++i) { int l = queries[i][0], r = queries[i][1]; ans[i] = s[r + 1] ^ s[l]; } return ans; } }
Comments
Post a Comment