Intermediate·Concept·2 min read

Dynamic programming

Practice this question

Overview

Dynamic programming divides a problem into overlapping subproblems and stores results to avoid recomputation.

Common DP questions

  • Fibonacci
  • Climbing stairs
  • House robber
  • Coin change
  • Longest increasing subsequence
  • Word break
  • Unique paths
  • Edit distance
  • Partition equal subset sum

DP states

  • 1D DP
  • 2D DP
  • memoization
  • tabulation

Interview guidance

If the same subproblem occurs repeatedly, DP is often the right direction.


Adapted from 14_DSA_MASTER.md · “11. Dynamic programming”. Code examples are study fragments. Difficulty and core labels are editorial estimates; version-specific behavior should be checked against your project.