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?