← Back

Dynamic Programming

Optimization technique for solving complex problems

Fibonacci

Best:O(n)Avg:O(n)Space:O(n)
memoizationtabulationoverlapping-subproblems

0/1 Knapsack

Best:O(n·W)Avg:O(n·W)Space:O(n·W)
optimizationsubset-selectionclassic

Longest Common Subsequence

Best:O(m·n)Avg:O(m·n)Space:O(m·n)
stringsubsequencediff

Longest Increasing Subsequence

Best:O(n²)Avg:O(n²)Space:O(n)
subsequencepatience-sortordering

Coin Change

Best:O(amount·n)Avg:O(amount·n)Space:O(amount)
optimizationminimum-coinsunbounded