Moving average

Write codeMedium30 min

Your task

Given a stream of integer readings and a window size k, compute the moving average over each contiguous window of exactly k readings, in order. Return a list of floats: the average of readings[0..k-1], readings[1..k], and so on. If the stream has fewer than k readings, return an empty list. Use an O(n) running-sum approach. Assume k >= 1.

Examples

moving_average(readings: list[int], k: int) -> list[float]
Example 1
Inputmoving_average([1, 2, 3, 4], 2)
Output[1.5, 2.5, 3.5]