LeetCode Card 308 — Backtracking / Structure
Pattern signal
This pattern usually appears when the prompt involves enumeration over choices with constraint pruning. Subsets, Combination Sum, Permutations, N-Queens, and word-search style branching problems belong here.
What Structure means here
In BASIC, the Structure step is where you state the invariant, helper contract, or control-flow skeleton before coding. For Backtracking, that matters because the pattern only becomes useful once the candidate is explicit about what is being tracked, reduced, or preserved.
Interview move
A strong move is to make the plan visible before full execution. In this pattern family, say out loud what representation makes the problem easier: the map entry, the pointer invariant, the recursion contract, the queue contents, or the DP state. That keeps the implementation attached to a reason.
Common miss
The miss is not clearly separating choose, recurse, and unchoose phases. BASIC reduces that risk because the stage sequence forces you to earn the implementation instead of jumping straight into it.
BASIC prompt
“Given that this looks like Backtracking, what is the simplest way to state the invariant, helper contract, or control-flow skeleton before coding?”