Dynamic Programming Algorithms

Be ready for dynamic programming coding interview by learning how to handle practically any form of dynamic programming

What you will learn

Master the art of dynamic programming

Step by step approach to solve any Dynamic Programming problem.

How to use the bottom-up approach of dynamic programming (Tabulation)

How to use the top-down approach of dynamic programming (Memoization)

How to solve almost any dynamic programming problem


Welcome to this course – “Dynamic Programming Algorithms”.

Do you feel up to speed with data structures and algorithms but frequently get stuck when solving  dynamic programming problem? The Dynamic Programming Algorithms Course is now available for everyone, helping you to learn the critical Dynamic Programming Concepts and advance for competitive coding and interviews.

An effective algorithmic technique used in computer programming is called dynamic programming, and it is used to solve a class of problems with overlapping subproblems and optimal substructure properties.

Any problem’s solutions can be kept for later use if they can be broken down into smaller subproblems, which can then be broken down into even smaller subproblems, and if there is overlap between the subproblems. In this approach, utilising dynamic programming, algorithms can be enhanced and many issues can be optimised.

One of the most significant and potent algorithmic strategies that can be used to tackle a variety of computational problems is dynamic programming. It’s an essential skill to acquire to improve your algorithmic and problem-solving abilities.

But many students struggle to comprehend dynamic programming and use it to solve issues; if this describes you, then this course is perfect for you!

Practice problems are:

#1 — Fibonacci number

#2 — Climbing Stairs

#3 — House Robber

#4 — Decode Ways

#5 — Longest Common Subsequence

#6 — 0/1 Knapsack Problem

#7 — Target sum

#8 — Partion Equal Subset Sum

#9 — Count Number of Subsets

#10 — Coin Change

#11 — Coin Change ii

#12 — Word Break

#13 — Regular Expression Matching





1- Fibonacci Number

Bottom Up Dynamic Programming
Top Down Dynamic Programming
Bottom Up — Constant Space

2- Climbing Stairs

Bottom Up Dynamic Programming
Top Down Dynamic Programming

3- House Robber

Recursive Naive & Memoized
1D Tabulation DP & Space Optimised DP

4- Decode Ways

Top-Down — Recursive Naive & Memoized
Bottom Up — 1D Tabulation DP
Optimized DP [O(1) Space]

5- Longest Common Subsequence

Bottom UP – Dynamic Programming
Top Down – Dynamic Programming

6- 0/1 Knapsack Problem

2D Tabulation – Dynamic Programming
Top down – Memoization
1D Tabulation — Dynamic Programming

7- Partition Equal Subset Sum

Recursive Naive & Memoized
1D Tabulation

8- Longest Increasing Subsequence

Recursive Naive & Memoized
1D Tabulation

9- Count Number of Subsets

Bottom Up Dynamic Programming — 1D Tabulation

10- Coin Change

Recursive Naive & Memoized
1D Tabulation

11- Coin Change II

1D Tabulation

12- Word Break

1D Tabulation

13- Target Sum

Top-Down Memoization
2D Tabulation

14- Edit Distance

Edit Distance — Bottom UP DP
Edit Distance — Top Down

15- Regular Expression Matching

2D Bottom UP

16- Range Sum Query 2D – Immutable

2D Tabulation

Check Today's 30+ Free Courses on Telegram!

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock