1
/**
2
* @param {number[]} nums
3
* @param {number} k
4
* @return {number[]}
5
*/
6
var maxSlidingWindow = function (nums, k) {
7
var i = 0,
8
j = 0,
9
max = 0,
10
deque = [],
11
output = [];
12
while (j < nums.length) {
13
if (deque.length === 0) {
14
deque.push(nums[j]);
15
} else if (deque[deque.length - 1] > nums[j]) {
16
deque.push(nums[j]);
17
} else {
18
while (deque[deque.length - 1] < nums[j]) {
19
deque.pop();
20
}
21
deque.push(nums[j]);
22
}
23

24
if (j - i + 1 === k) {
25
if (nums[i] === deque[0]) {
26
output.push(deque.shift());
27
} else {
28
output.push(deque[0]);
29
}
30
i++;
31
}
32
j++;
33
}
34
return output;
35
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0