Skip to content

Commit b8cc0d1

Browse files
authored
Create 1863-sum-of-all-subset-xor-totals.js
1 parent d5a7ab0 commit b8cc0d1

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

1863-sum-of-all-subset-xor-totals.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
const subsetXORSum = function(nums) {
6+
let res = {sum: 0}
7+
8+
helper(nums, 0, [], res)
9+
return res.sum
10+
};
11+
12+
function helper(arr, idx, cur, res) {
13+
if(idx === arr.length) {
14+
res.sum += calc(cur)
15+
return
16+
}
17+
const clone = cur.slice()
18+
helper(arr, idx + 1, clone, res)
19+
const c2 = cur.slice()
20+
c2.push(arr[idx])
21+
helper(arr, idx + 1, c2, res)
22+
}
23+
24+
function calc(arr) {
25+
let res = 0
26+
for(let e of arr) res ^= e
27+
return res
28+
}

0 commit comments

Comments
 (0)