class Solution:
def xorQueries(self, arr: List[int], queries: List[List[int]]) -> List[int]:
res = []
all_xor = 0
#前缀和
for i in range(len(arr)):
all_xor^=arr[i]
arr[i] = all_xor
for x,y in queries:
if x==0:
res.append(arr[y])
else:
res.append(arr[y]^arr[x-1])
return res
题目分析:
- 前缀和
- 先计算整个数组的前缀和
- 然后根据query数组计算出当前这一段的异或值