LeetCode 1310. 子数组异或查询(前缀异或)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1310. 子数组异或查询(前缀异或)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 題目
有一個(gè)正整數(shù)數(shù)組 arr,現(xiàn)給你一個(gè)對應(yīng)的查詢數(shù)組 queries,其中 queries[i] = [Li, Ri]。
對于每個(gè)查詢 i,請你計(jì)算從 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作為本次查詢的結(jié)果。
并返回一個(gè)包含給定查詢 queries 所有結(jié)果的數(shù)組。
示例 1: 輸入:arr = [1,3,4,8], queries = [[0,1],[1,2],[0,3],[3,3]] 輸出:[2,7,14,8] 解釋: 數(shù)組中元素的二進(jìn)制表示形式是: 1 = 0001 3 = 0011 4 = 0100 8 = 1000 查詢的 XOR 值為: [0,1] = 1 xor 3 = 2 [1,2] = 3 xor 4 = 7 [0,3] = 1 xor 3 xor 4 xor 8 = 14 [3,3] = 8示例 2: 輸入:arr = [4,8,2,10], queries = [[2,3],[1,3],[0,0],[0,3]] 輸出:[8,0,4,4]提示: 1 <= arr.length <= 3 * 10^4 1 <= arr[i] <= 10^9 1 <= queries.length <= 3 * 10^4 queries[i].length == 2 0 <= queries[i][0] <= queries[i][1] < arr.length來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/xor-queries-of-a-subarray
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
2. 解題
- 1個(gè)數(shù)異或偶數(shù)次值不變,相當(dāng)于沒有異或
- 求取每個(gè)位置的異或前綴值,區(qū)間的異或值為 XOR[l,r] = XOR[r]^XOR[l-1]
240 ms 31.9 MB
總結(jié)
以上是生活随笔為你收集整理的LeetCode 1310. 子数组异或查询(前缀异或)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode MySQL 1204.
- 下一篇: LeetCode 985. 查询后的偶数