Guided Lesson Notes
Understanding Two Pointers
Two Pointers focuses on contiguous sequences, index movement, and the state that can be reused while scanning. Two-pointer methods use two moving indices to scan sorted arrays, strings, or windows without unnecessary nested loops.
Model: picture the input as boxes with numbered positions; every algorithm decision should say which positions are being read, updated, skipped, or remembered.
Invariant: the variables beside the array must summarize exactly the part of the array that has already been processed.
Implementation: careful loops, boundary checks, and small helper variables for sums, counts, positions, or best answers.
Use Two Pointers when the problem asks about a subarray, substring, range, pair, frequency, or a condition over consecutive values.
