From ddd7472026454dcfefa2385ac4bf3e26037c0a64 Mon Sep 17 00:00:00 2001 From: sultan arif <53237271+sultanarif-p@users.noreply.github.com> Date: Sat, 11 Oct 2025 00:30:31 +0300 Subject: [PATCH] Create Deque.py Dequeue array in python --- data_structures/arrays/Deque.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 data_structures/arrays/Deque.py diff --git a/data_structures/arrays/Deque.py b/data_structures/arrays/Deque.py new file mode 100644 index 000000000000..e8673a14e77e --- /dev/null +++ b/data_structures/arrays/Deque.py @@ -0,0 +1,18 @@ +# Find maximum of every window of size k +from collections import deque + +arr = [1,3,-1,-3,5,3,6,7] +k = 3 +dq = deque() +res = [] + +for i, val in enumerate(arr): + while dq and dq[0] <= i-k: + dq.popleft() # remove out-of-window indices + while dq and arr[dq[-1]] < val: + dq.pop() # remove smaller elements + dq.append(i) + if i >= k-1: + res.append(arr[dq[0]]) + +print(res) # [3, 3, 5, 5, 6, 7]