Counting without two hash lookups per item, the exact input size where Array.Sort stops preserving order, and the heap C# only got in .NET 6 — which most older C# contest code still works around.
A stack that refuses to hold anything useless answers “what is the next bigger thing” for a whole array in one pass — and the same structure measures the largest rectangle in a histogram.
Finding a value in a sorted array is the least useful thing binary search does. The pattern that matters searches an answer space no one ever built, and it does not need a sorted array at all.
Precompute once, answer every range question in constant time — and the inverse trick almost nobody is taught, which applies an update to a whole range by writing two cells.
Both pointers move the same way and the gap between them is the answer. Four window shapes, plus the counting trick that turns “exactly K” into a subtraction because “exactly K” cannot be slid directly.
Five patterns that need no extra memory at all — two integers and the array you were handed. Where each one applies, why it is linear, and the one line in the last one that everybody writes backwards.