Dynamic Programmingpdf
Dynamic Programmingpdf
- Karun Karthik
Contents
0. Introduction
1. Climbing Stairs
2. Fibonacci Number
3. Min Cost Climbing Stairs
4. House Robber
5. House Robber - II
6. Nth Tribonacci Number
7. 0-1 Knapsack
8. Partition Equal Subset Sum
9. Target Sum
10. Count no of Subsets with given Difference
11. Delete and Earn
12. Knapsack with Duplicate Items
13. Coin Change - II
14. Coin Change
15. Rod cutting
https://www.linkedin.com/in/karun-karthik
Dynamic programming is a technique to solve problems by breaking it down into a colle
ction of sub-problems, solving each of those sub-problems just once and storing these
solutions inside the cache memory in case the same problem occurs the next time.
There are two different ways to store our values so that they can be reused at a later i
nstance. They are as follows:
1. Memoization or the Top Down Approach.
2. Tabulation or the Bottom Up approach.
In Memoization we start from the extreme state and compute result by using values th
at can reach the destination state i.e the base state.
In Tabulation we start from the base state and then compute results all the way till the
extreme state.
Note: To store the intermediate results we can use Array, Matrix, Hashmap etc., all we
need is data storage and retrieval with a specific key.
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik
https://www.linkedin.com/in/karun-karthik