Sliding Window
Solve fixed-window problems: maximum sum of k elements, moving averages, and O(n) updates as the window slides.
Try a choice, keep going, and undo it if it fails, used to generate permutations, combinations, and valid layouts.
Return every possible subset of a set of unique numbers.
Return every possible ordering of a list of unique numbers.
Find every combination of numbers from a list that adds up to a target, reusing numbers freely.
Return every letter combination that a sequence of phone keypad digits could represent.
Split a string into every possible way where each piece is a palindrome.
Generate every combination of well-formed parentheses for a given number of pairs.
Check whether a word can be traced through neighboring letters in a grid.
Solve fixed-window problems: maximum sum of k elements, moving averages, and O(n) updates as the window slides.
Scan a sorted array or string from both ends at once to find pairs, remove duplicates, or reverse data in O(n).
Cut a sorted range in half on every step to find a value or boundary in O(log n) instead of checking one by one.
Explore as far as possible down one path before backtracking, used to walk trees, graphs, and grids.
Explore level by level from a starting point, the go-to way to find the shortest path in an unweighted graph.
Break a problem into overlapping subproblems and reuse their answers to avoid recomputing the same work.