Skip to content

Commit 73451c3

Browse files
committed
Add js file
1 parent bc0c3c1 commit 73451c3

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

javascript/_1664.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// Author: Phuong Lam
2+
3+
/**
4+
* @param {number[]} nums
5+
* @return {number}
6+
*/
7+
var waysToMakeFair = function (nums) {
8+
var total = 0
9+
10+
var lo = 0 // left odd
11+
var le = 0 // left even
12+
var ro = 0 // right odd
13+
var re = 0 // right even
14+
15+
// when ignore 1 element => right odd mean i % 2 === 0
16+
for (i = 0; i < nums.length; i++) {
17+
if (i % 2 === 0) ro += nums[i]
18+
else re += nums[i]
19+
}
20+
21+
// remove position i, recalculate left - right even-odd
22+
for (i = 0; i < nums.length; i++) {
23+
// recalculate left
24+
if (i > 0) {
25+
if (i % 2 === 0) lo += nums[i - 1]
26+
else le += nums[i - 1]
27+
}
28+
29+
// recalculate right
30+
if (i % 2 === 0) ro -= nums[i]
31+
else re -= nums[i]
32+
33+
// calc total even & odd
34+
if (lo + ro === le + re) total++
35+
}
36+
return total
37+
}

0 commit comments

Comments
 (0)