Skip to content

Commit c03eaf0

Browse files
authored
feat: add solutions to leetcode problem: No.1310. XOR Queries of a Subarray (doocs#384)
* feat: add solutions to leetcode problem: No.1310. XOR Queries of a Subarray * fix: fix js solution to leetcode problem: No.1310. XOR Queries of a Subarray
1 parent 037ce7c commit c03eaf0

File tree

3 files changed

+64
-0
lines changed

3 files changed

+64
-0
lines changed

solution/1300-1399/1310.XOR Queries of a Subarray/README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,29 @@ class Solution {
9393
}
9494
```
9595

96+
### **JavaScript**
97+
98+
```js
99+
/**
100+
* @param {number[]} arr
101+
* @param {number[][]} queries
102+
* @return {number[]}
103+
*/
104+
var xorQueries = function(arr, queries) {
105+
let n = arr.length;
106+
let xors = new Array(n + 1).fill(0);
107+
for (let i = 0; i < n; i++) {
108+
xors[i + 1] = xors[i] ^ arr[i];
109+
}
110+
let res = [];
111+
for (let query of queries) {
112+
let [start, end] = query;
113+
res.push(xors[start] ^ xors[end + 1]);
114+
}
115+
return res;
116+
};
117+
```
118+
96119
### **...**
97120

98121
```

solution/1300-1399/1310.XOR Queries of a Subarray/README_EN.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,29 @@ class Solution {
106106
}
107107
```
108108

109+
### **JavaScript**
110+
111+
```js
112+
/**
113+
* @param {number[]} arr
114+
* @param {number[][]} queries
115+
* @return {number[]}
116+
*/
117+
var xorQueries = function(arr, queries) {
118+
let n = arr.length;
119+
let xors = new Array(n + 1).fill(0);
120+
for (let i = 0; i < n; i++) {
121+
xors[i + 1] = xors[i] ^ arr[i];
122+
}
123+
let res = [];
124+
for (let query of queries) {
125+
let [start, end] = query;
126+
res.push(xors[start] ^ xors[end + 1]);
127+
}
128+
return res;
129+
};
130+
```
131+
109132
### **...**
110133

111134
```
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/**
2+
* @param {number[]} arr
3+
* @param {number[][]} queries
4+
* @return {number[]}
5+
*/
6+
var xorQueries = function(arr, queries) {
7+
let n = arr.length;
8+
let xors = new Array(n + 1).fill(0);
9+
for (let i = 0; i < n; i++) {
10+
xors[i + 1] = xors[i] ^ arr[i];
11+
}
12+
let res = [];
13+
for (let query of queries) {
14+
let [start, end] = query;
15+
res.push(xors[start] ^ xors[end + 1]);
16+
}
17+
return res;
18+
};

0 commit comments

Comments
 (0)