Look for these signals:
"Sliding window maximum/minimum": monotonic deque
"Shortest subarray with property X": often deque + prefix sums
"First/last element access needed": deque over queue
"Process from both ends": deque naturally If you only need one end, use a stack or queue. Deques are more powerful but slightly slower due to more general implementation.