Guided Lesson Notes
Understanding Strings
Strings focuses on contiguous sequences, index movement, and the state that can be reused while scanning. String problems combine indexing, character processing, immutability concerns, and pattern recognition.
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 Strings when the problem asks about a subarray, substring, range, pair, frequency, or a condition over consecutive values.
