这一题很明显的就是用前缀和+异或来解决,只要清楚异或的性质,这一题就十分容易。
对异或的性质的讲解如下:
异或运算解析
具体代码如下:
class Solution {
public:int sum[30005];
vector<int> xorQueries(vector<int>& arr, vector<vector<int>>& queries) {vector<int> ans;for(int i=0;i<arr.size();i++){sum[i+1]=sum[i]^arr[i];}for(int i=0;i<queries.size();i++){int l=queries[i][0];int r=queries[i][1];// 0 1ans.push_back(sum[r+1]^sum[l]);}return ans;}
};
时间复杂度O(n);