Growing window maximum

Write codeMedium25 minAmazon style

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
Inputsliding_max([1, 3, 2, 5, 4], 3)
Output[1, 3, 3, 5, 5]