Practice Lab

Problem Solving Patterns

PatternSignalTypical ComplexityNotes
Two pointersSorted array, pair search, partitioningO(n) after sorting or per fixed indexWatch pointer movement invariants and duplicate skipping.
Sort + fixed index + two pointersUnique triplets, 3Sum-style pair search after choosing one valueO(n^2)Sort, skip duplicate fixed values, then move inward based on sum.
Sliding windowContiguous subarray or substringO(n)Track what makes a window valid.
Hash map countingFrequency, lookup, deduplicationO(n)Clarify collision and memory trade-offs if asked.
BFSShortest path in unweighted graphO(V + E)Use queue and visited set.
DFSTraversal, components, recursionO(V + E)Watch recursion depth.
Dynamic programmingOverlapping subproblemsVariesDefine state, transition, base cases.