📐
Dynamic Programming
Master DP patterns end to end: grids, knapsack, sequences, and state machines.
Curriculum · 32 lessons
01Generating Subsetsintro3m02The Subset Sum Patterncore4m03Coin Changecore4m04Palindrome Detection with Expansioncore5m05The Unbounded Knapsackcore4m06Longest Common Subsequencecore5m07The Subsets Patterncore5m08The Zero One Knapsackcore5m09The Knapsack Problemcore5m10Greedy versus Dynamic Programmingcore5m11Memoization versus Tabulationcore5m12Palindrome Partitioningcore4m13The Partition By Pivotcore5m14The Longest Common Subsequence Recurrencecore6m15Edit Distance Variantscore6m16The Edit Distance Recurrencecore6m17Dynamic Programming Introcore5m18Edit Distancecore5m19Bitmask Dynamic Programmingcore5m20Longest Increasing Subsequencecore5m21Interval Dynamic Programmingcore5m22Longest Common Substring With Suffixcore5m23Manacher Palindromes Deepcore6m24Interval DPcore5m25Digit Dynamic Programmingcore6m26The Longest Common Prefix Arrayadvanced6m27Quicksort Partition Schemesadvanced5m28The Longest Repeated Substringadvanced5m29Dynamic Programming State Designadvanced6m30Bitmask DPadvanced6m31Digit DPadvanced6m32Memoized Backtrackingadvanced5m
Practice · 220 problems
⚔️Fibonacci Number1000⚔️Climbing Stairs1050⚔️Count Vowel Permutations1050⚔️Minimum Moves to Equal Array Elements1050⚔️Unique Paths1050⚔️Tribonacci Number1050⚔️Equal Sum Split Points1050⚔️N-th Tribonacci Number1050⚔️Count Ways To Reach Score1080⚔️Perfect Squares1100⚔️Minimum Cost Path in Grid1100⚔️Maximum Points Moving Right or Down1100⚔️Domino Tiling Count1100⚔️Maximum Sum of Non-Adjacent Elements1100⚔️Minimum Cost Climbing Stairs1100⚔️Paint House Minimum Cost1100⚔️House Robber1150⚔️Minimum Path Sum1150⚔️Triangle Minimum Total1150⚔️Integer Break1150⚔️Count Palindromic Substrings1150⚔️Number of Dice Rolls With Target Sum1150⚔️Unique Paths II1150⚔️Paint Fence1150
+ 196 more in the arena