LC 2090 [M] K Radius Subarray Averages - ALawliet/algorithms GitHub Wiki
class Solution:
def getAverages(self, nums: List[int], k: int) -> List[int]:
res = [-1] * len(nums)
l = 0
window_sum = 0
radius = 2*k+1 # k to the left + k to the right + current
for r in range(len(nums)):
window_sum += nums[r]
if (r - l + 1 >= radius):
res[l+k] = window_sum // radius # start filling in when we have enough
window_sum -= nums[l]
l += 1
return res