Build the PrimitiveMedium
Rolling Maximum
A monitoring dashboard shows the highest value seen in the last `k` samples, updated on every new sample.
Implement `rolling_max(values, k)`, returning a list of the maximum of every contiguous window of size `k`. For `values = [1, 3, -1, -3, 5]` and `k = 3` the answer is `[3, 3, 5]`.
The naive version re-scans each window and is O(n·k). Get it to **O(n)**, and be ready to explain why each element is pushed and popped at most once.
What to expect: A timer starts when you begin. Edit the starter code, run it against the test suite as many times as you like, then finish when you're done. The reference solution and interviewer follow-up questions unlock only after you finish.