【Leetcode】1310. 子数组异或查询【每日一题系列20210512】
程序员文章站
2024-03-01 16:57:40
...
解题思路
利用 与或的 特性 A ^ A = 0, B ^ 0 = B 的特性
假设数组现在的元素 是 [A, B, C, D, E]
我们想计算 D, E 的结果,那可以用 map[E] ^ map[C] = A^B^C^D^E ^ A^B^C = A^A^B^B^C^C^D^E = 0^0^0^D^E = D ^ E
class Solution:
def xorQueries(self, arr: List[int], queries: List[List[int]]) -> List[int]:
total = [0]
for i in range(len(arr)):
total.append(total[-1] ^ arr[i])
xor = []
for start,end in queries:
xor.append(total[start] ^ total[end+1])
return xor
上一篇: 九大排序算法之选择排序20210512
下一篇: JDBC入门、简单SQL查询