链接:https://leetcode-cn.com/problems/xor-queries-of-a-subarray/
先计算异或前缀和,这样查询时就可以在
O
(
1
)
O(1)
O(1)时间复杂度得出答案。
C++代码:
class Solution {
public:
vector<int> xorQueries(vector<int>& arr, vector<vector<int>>& queries) {
vector<int> x(arr.size()+1,0);
for(int i = 1;i<=arr.size();i++)
x[i] = x[i-1] ^ arr[i-1];
vector<int> result(queries.size());
for(int i = 0;i<queries.size();i++)
{
result[i] = x[queries[i][1]+1] ^ x[queries[i][0]];
}
return result;
}
};
本文介绍了一种高效解决子数组异或查询问题的方法。通过预先计算异或前缀和,查询时可在常数时间内得到结果,显著提升了算法效率。文章提供了C++实现代码,展示了如何利用异或前缀和进行快速查询。
311

被折叠的 条评论
为什么被折叠?



