파비의 매일매일 공부기록

Today's Challenge 본문

Problem Solving/LeetCode

Today's Challenge

fabichoi 2022. 12. 4. 23:45

https://leetcode.com/problems/minimum-average-difference/

 

Minimum Average Difference - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

prefix sum optimized 를 활용!

class Solution:
    def minimumAverageDifference(self, nums: List[int]) -> int:
        n = len(nums)
        ans = -1
        mad = math.inf
        cps = 0
        
        s = 0
        
        for index in range(n):
            s += nums[index]
        
        for index in range(n):
            cps += nums[index]
            lpa = cps
            lpa //= (index + 1)
            
            rpa = s - cps
            if index != n-1:
                rpa //= (n-index-1)
            
            cd = abs(lpa - rpa)
            
            if cd < mad:
                mad = cd
                ans = index
        
        return ans
반응형

'Problem Solving > LeetCode' 카테고리의 다른 글

Today's Challenge  (0) 2022.12.06
Today's Challenge  (0) 2022.12.05
Today's Challenge  (0) 2022.12.03
Today's Challenge  (0) 2022.12.02
Today's Challenge  (0) 2022.12.01
Comments