Skip to content

Commit ddd7472

Browse files
authored
Create Deque.py
Dequeue array in python
1 parent 788d95b commit ddd7472

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

data_structures/arrays/Deque.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Find maximum of every window of size k
2+
from collections import deque
3+
4+
arr = [1,3,-1,-3,5,3,6,7]
5+
k = 3
6+
dq = deque()
7+
res = []
8+
9+
for i, val in enumerate(arr):
10+
while dq and dq[0] <= i-k:
11+
dq.popleft() # remove out-of-window indices
12+
while dq and arr[dq[-1]] < val:
13+
dq.pop() # remove smaller elements
14+
dq.append(i)
15+
if i >= k-1:
16+
res.append(arr[dq[0]])
17+
18+
print(res) # [3, 3, 5, 5, 6, 7]

0 commit comments

Comments
 (0)