1664. Ways to Make a Fair Array
https://leetcode.com/problems/ways-to-make-a-fair-array/
6, 1, 7, 4, 0
e, o, e, o, e
公式
leftEven + rightOdd == leftOdd + rightEven
class Solution:
def waysToMakeFair(self, nums: List[int]) -> int:
leftEven = 0
leftOdd = 0
rightEven = 0
rightOdd = 0
res = 0
for i,num in enumerate(nums):
if i % 2 == 0:
rightEven += num
else:
rightOdd += num
for i,num in enumerate(nums):
if i % 2 == 0:
rightEven -= num
else:
rightOdd -= num
if leftEven + rightOdd == leftOdd + rightEven:
res+=1
if i % 2 == 0:
leftEven += num
else:
leftOdd +=num
return res
Last updated
Was this helpful?