Optimizing Python Data Structures: When to Use deque, defaultdict, and Counter
Deque from collections import deque def sliding_window_max(nums, k): dq = deque() # Stores indices result = [] for i, num in enumerate(nums): # Remove elements not in sliding window if dq and dq[0] < i – k + 1: dq.popleft() # Remove smaller elements (they won’t be needed) while dq and nums[dq[-1]] < num: dq.pop() …
Optimizing Python Data Structures: When to Use deque, defaultdict, and Counter Read More »