Growing window maximum
Your task
Compute a sliding-window maximum over a stream. Given a list of integers and a window size w, return a list where the i-th entry is the maximum of the window ending at index i, using min(i+1, w) elements (the window grows until it reaches size w). Return the list of per-position maxima. Assume w >= 1 and the input may be empty.
Examples
sliding_max(nums: list[int], w: int) -> list[int]Example 1
Input
sliding_max([1, 3, 2, 5, 4], 3)Output
[1, 3, 3, 5, 5]