1
class Solution:
2
def waysToMakeFair(self, nums: List[int]) -> int:
3
if len(nums) == 1:
4
return 1
5

6
if len(nums) == 2:
7
return 0
8

9
prefixEven = sum(nums[2::2])
10
prefixOdd = sum(nums[1::2])
11
result = 0
12

13
if prefixEven == prefixOdd and len(set(nums)) == 1:
14
result += 1
15

16
for i in range(1, len(nums)):
17
if i == 1:
18
prefixOdd, prefixEven = prefixEven, prefixOdd
19

20
if i > 1:
21
if i % 2 == 0:
22
prefixEven -= nums[i - 1]
23
prefixEven += nums[i - 2]
24

25
else:
26
prefixOdd -= nums[i - 1]
27
prefixOdd += nums[i - 2]
28

29
if prefixOdd == prefixEven:
30
result += 1
31

32
return result

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0