Algorithms / Dp Mixed Interview
Least You Need to Know: Dynamic Programming Mixed Interview Drills
Interview DP questions rarely ask only for a recurrence. They mix state design, dependency order, asymptotics, and correctness traps like double counting or forgetting part of the state.
The least you need to know
- A strong interview answer names the state, base cases, transition, and complexity in one coherent story.
- Many counting DPs fail because they count the same object in more than one order.
- Optimization DPs often require a choice between taking an item/action and skipping it.
- A correct iteration order must respect the subproblem graph.
- When a greedy rule feels tempting, DP is a good fallback if local choices can block better future outcomes.
Key notation
take / skip
common optimization DP branching pattern
order-sensitive count
a counting recurrence that treats different orderings as distinct
O(states × transitions)
common runtime lens for DP analysis
Tiny worked example
- In 0/1 knapsack, a standard state is `dp[i][c] = best value using the first i items with capacity c`.
- The transition compares skipping item `i` with taking it if capacity allows.
- A good interview explanation also states the table size and why the order respects dependencies.
Common mistakes
- Students often give only the recurrence and forget to define what `dp[...]` actually means.
- Students often mix permutations and combinations in counting DPs.
- Students often forget to mention runtime as number of states times work per transition.
How to recognize this kind of problem
- State, base cases, transition, and runtime should all fit together.
- If order should not matter in a counting problem, check that your recurrence does not count the same object in multiple orders.
- Ask whether each state is a “take/skip,” “extend from predecessors,” or “combine interval halves” style problem.