美文网首页
前缀和-1310子数组异或查询-1442形成两个异或相等数组的三

前缀和-1310子数组异或查询-1442形成两个异或相等数组的三

作者: 棉花糖7 | 来源:发表于2021-05-18 10:51 被阅读0次

这道题用到了前缀和的思想

xor异或数组第i位表示原数组0-i异或的结果

假设arr = [1,3,4,8]

xor[0]=0;

xor[1] = xor[0] ^ arr[0] = 0 ^ 1

xor[2] = xor[1] ^ arr[1] = 0^1^3

xor[3] = xor[2]^arr[2] = 0^1^3^4;

xor[4] = xor[3] ^ arr[3] = 0^1^3^4^8

所以查询数组中,例如[0,1] = arr[0] ^ arr[1] = 1^3 = xor[0] ^ xor[2] ,第0位被抵消掉了

同理,[1,2] = arr[1]^arr[2] = 3^4 = xor[1] ^ xor[3] = (0^1) ^ (0^1^3^4),前面两位被抵消了

题目 解答 题目 解答

相关文章

网友评论

      本文标题:前缀和-1310子数组异或查询-1442形成两个异或相等数组的三

      本文链接:https://www.haomeiwen.com/subject/mtuejltx.html