Skip to main content
Toggle Sidebar
Visualizers
Toggle theme
Topics
Arrays
Sorting
String
LinkedList
Stack
Queue
Hashing
Recursion
Trees
Heaps
Tries
Graphs
Greedy
Dynamic Programming
Backtracking
Bit Manipulation
Sliding Window
Two Pointers
Dashboard
Toggle Sidebar
Queue Visualizer
Queue Vis
FIFO • Priority Logic
Randomize
Custom
Initializing Queue Canvas...
Playback Speed
1x
Frame
1
/0
Algorithm Details
Best Time
Ω(n)
Worst Time
O(n)
Aux Space
Θ(n)
Algorithm Logic
1
Algorithm SlidingWindowMax(nums, k):
2
deque = Empty Deque
3
res = []
4
For i from 0 to length(nums) - 1:
5
If deque not empty and deque.front == i - k:
6
deque.pop_front()
7
While deque not empty and nums[deque.back] < nums[i]:
8
deque.pop_back()
9
deque.push_back(i)
10
If i >= k - 1:
11
res.push(nums[deque.front])
12
Return res