Intermediate·Concept·2 min read

Dynamic programming in Python

Practice this question

Problems to practice

  • Climbing Stairs
  • House Robber
  • Coin Change
  • Longest Increasing Subsequence
  • Unique Paths
  • Word Break
  • Partition Equal Subset Sum

Example: Fibonacci DP

Python
def fib(n):
    dp = [0] * (n + 1)
    dp[0] = 0
    if n >= 1:
        dp[1] = 1
    for i in range(2, n + 1):
        dp[i] = dp[i - 1] + dp[i - 2]
    return dp[n]

Interview guidance

If the same subproblem repeats, dynamic programming is usually a strong candidate.


Adapted from 18_DSA_PYTHON.md · “10. Dynamic programming in Python”. Code examples are study fragments. Difficulty and core labels are editorial estimates; version-specific behavior should be checked against your project.