LeetCode Card 323 — 2D Dynamic Programming / Structure
Pattern signal
This pattern usually appears when the prompt involves state depends on two indices, two strings, or grid-like subproblems. Longest Common Subsequence, Edit Distance, unique paths with obstacles, and many grid optimizations fit 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 2D Dynamic Programming, 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
Candidates drown in table details because they never define what each cell actually means. 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 2D Dynamic Programming, what is the simplest way to state the invariant, helper contract, or control-flow skeleton before coding?”