2090. K Radius Subarray Averages

2090. K Radius Subarray Averages

這個題目的重點是細心處理邊界問題。

class Solution:
    def getAverages(self, nums: List[int], k: int) -> List[int]:
        
        
        prefix = [nums[0]]
        for i in range(1, len(nums)):
            prefix.append(prefix[i - 1] + nums[i])
        
        res = []
        
        n = len(prefix)
        for i in range(n):
            if i - k >= 0 and i + k < n:
                tmp = (prefix[i + k] - prefix[i - k] + nums[i - k]) // (2 * k + 1)
                res.append(tmp)
            else:
                res.append(-1)
        
        return res