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
Number of Good Paths - Leetcode 2421 - Python
NeetCodeIO · intermediate hands-on
→ Solve dynamic programming problems on Leetcode→ Implement algorithmic solutions in Python
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
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 (10 articles)

📄
LeetCode, Hard: 2818. Apply Operations to Maximize Score. Swift
Dev.to · Sergey Leschev · 2023-08-19
📄
787. Cheapest Flights Within K Stops
Dev.to · Harsh Rajpal · 2023-01-26
📄
DP Patterns Every CP Solver Should Know
Dev.to · Animesh Sarker (231-115-074) · 2026-02-21
📄
Subset Sum Equal to K — All Approaches (C++)
Dev.to · Dolly Sharma · 2026-03-16
📄
📘 Minimum Insertions to Make a String Palindrome
Dev.to · Dolly Sharma · 2026-03-22