Leetcode 2256

Y Tech
Aug 17, 2023

Coding question asked in Meta and Amazon interviews.

'''
nums = [2,5,3,9,5,3]

idx 0, 1, 2, 3, 4, 5
leftSum 2 7 10 19 24 27
leftCount 1 2 3 4 5 6
rightSum 25 20 17 8 3 0
rightCount 5 4 3 2 1 0
diff 3 2 2 0 1 4
'''
class Solution:
def minimumAverageDifference(self, nums: List[int]) -> int:
totalSum = sum(nums)
totalCount = len(nums)

leftSum = 0
rightSum = totalSum
leftCount = 0
rightCount = totalCount
minDiff = float('inf')
res = -1

for i in range(totalCount):
num = nums[i]
leftSum += num
rightSum -= num
leftCount += 1
rightCount -= 1
if rightCount:
diff = abs(leftSum//leftCount - rightSum//rightCount)
else:
diff = leftSum//leftCount
if diff < minDiff:
minDiff = diff
res = i
return res

--

--