当前位置: 代码迷 >> 综合 >> 【leetcode】1310. 子数组异或查询
  详细解决方案

【leetcode】1310. 子数组异或查询

热度:41   发布时间:2023-11-01 05:23:29.0

有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。
对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作为本次查询的结果。
并返回一个包含给定查询 queries 所有结果的数组。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/xor-queries-of-a-subarray
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

打表

# Time: 2021/5/11 17:02
# Software: PyCharm
# Description: 1class Solution(object):def xorQueries(self, arr, queries):""":type arr: List[int]:type queries: List[List[int]]:rtype: List[int]"""list = [0]for i in arr:list.append(list[-1] ^ i)list = list[1:]# print(list)result = []for query in queries:start, end = query[0], query[1]if start == end:result.append(arr[start])elif start == 0:result.append(list[end])else:result.append(list[end] ^ list[start - 1])return resultif __name__ == '__main__':a = Solution()print(a.xorQueries(arr = [4,8,2,10], queries = [[2,3],[1,3],[0,0],[0,3]]))