這一題很明顯的就是用前綴和+異或來解決,只要清楚異或的性質,這一題就十分容易。
對異或的性質的講解如下:
異或運算解析
具體代碼如下:
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);