Skills › Algorithms & Data Structures

Dynamic Programming

Solve optimisation problems with memoisation and tabulation.

0%
Confidence · no data yet
Sign in to track

After this skill you can…

  • Identify overlapping subproblems
  • Convert recursive solutions to bottom-up DP
  • Solve classic DP problems (knapsack, LCS, coin change)

Prerequisites

Watch (10 videos)

0/1 Knapsack problem | Dynamic Programming
WilliamFiset · beginner hands-on
→ Solve the 0/1 Knapsack problem using dynamic programming→ Apply dynamic programming to similar problems
The Recursive Staircase - Top Down & Bottom Up Dynamic Programming ("Climbing Stairs" on LeetCode)
Back To Back SWE · beginner hands-on
→ Solve dynamic programming problems→ Apply top-down and bottom-up approaches
Learn Dynamic Programming with Animations – Full Course for Beginners
freeCodeCamp.org · beginner hands-on
→ Solve complex algorithmic puzzles→ Implement memoization and tabulation→ Optimize recursive solutions
Stone Game II - Leetcode 1140 - Python
NeetCodeIO · intermediate hands-on
→ Apply dynamic programming to solve complex problems→ Optimize algorithmic solutions
Magic Cows | Dynamic Programming | Adhoc | Interview problem
WilliamFiset · intermediate hands-on
→ Solve dynamic programming problems like Magical Cows→ Apply algorithmic thinking to complex problems
Partition Equal Subset Sum - Leetcode 416 - Python
NeetCodeIO · intermediate hands-on
→ Apply dynamic programming to solve optimization problems→ Implement memoization techniques
FREAKY Programming out here 😵‍💫
Sajjaad Khader · intermediate hands-on
→ Apply dynamic programming to real-world problems→ Optimize recursive solutions
Dynamic Programming Interview Question #1 - Find Sets Of Numbers That Add Up To 16
CS Dojo · beginner hands-on
→ Solve dynamic programming problems→ Apply dynamic programming to coding interviews
Different Ways to Add Parentheses - Leetcode 241 - Python
NeetCodeIO · intermediate hands-on
→ Apply dynamic programming to solve complex problems→ Optimize code for performance
Constrained Subsequence Sum - Leetcode 1425 - Python
NeetCodeIO · intermediate hands-on
→ Apply dynamic programming techniques→ Optimize algorithmic solutions

Read (1 articles)

📄
I Thought I Knew Dynamic Programming But I Did Not Until…
Medium · Programming · 2026-04-21