function maxSlidingWindow(nums: number[], k: number): number[] {
const res: number[] = [];
let l = 0;
let r = 0;
const queue: number[] = [];
while (r < nums.length) {
while (queue.length > 0 && nums[queue[queue.length - 1]] < nums[r]) {
queue.pop();
}
queue.push(r);
if (l > queue[0]) {
queue.shift();
}
if (r + 1 >= k) {
res.push(nums[queue[0]]);
l += 1;
}
r += 1;
}
return res;
}