// Sliding Window Maximum — HARD
// Category: sliding-window
You are given an array of integers `nums`, there is a sliding window of size `k` which is moving from the very left of the array to the very right. You can only see the `k` numbers in the window. Each time the sliding window moves right by one position, return the max value in each window.
**Approach:** Use a monotonic deque (decreasing from front to back) storing indices. O(n) time.
Example: nums = [1,3,-1,-3,5,3,6,7], k = 3
Output: [3,3,5,5,6,7]