Skip to content

Commit 42d2d63

Browse files
authored
Create 1664-ways-to-make-a-fair-array.js
1 parent 8aeb042 commit 42d2d63

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

1664-ways-to-make-a-fair-array.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
const waysToMakeFair = function (nums) {
6+
const n = nums.length
7+
const preOddSum = new Array(n + 1).fill(0)
8+
const preEvenSum = new Array(n + 1).fill(0)
9+
for (let i = 0; i < n; i++) {
10+
if (i % 2 === 0) {
11+
preEvenSum[i + 1] = nums[i] + preEvenSum[i]
12+
preOddSum[i + 1] = preOddSum[i]
13+
} else {
14+
preOddSum[i + 1] = nums[i] + preOddSum[i]
15+
preEvenSum[i + 1] = preEvenSum[i]
16+
}
17+
}
18+
let ret = 0
19+
for (let i = 0; i < n; i++) {
20+
if (
21+
preEvenSum[i] + preOddSum[n] - preOddSum[i + 1] ===
22+
preOddSum[i] + preEvenSum[n] - preEvenSum[i + 1]
23+
)
24+
ret++
25+
}
26+
return ret
27+
}

0 commit comments

Comments
 (0)