Your question is Large-Scale Data Streams Algorithm. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
Design and implement an algorithm to process large-scale data streams.
Implement process_stream(stream, window_size) to consume a numeric iterable once and return the average of every complete sliding window of window_size consecutive values. The function must use bounded memory relative to the window size, preserve stream order, and return an empty list when the stream is shorter than the window.
Input: an iterable of numbers and a positive integer window size. Output: a list of floating-point averages, one for each complete window.
def process_stream(stream, window_size):