Dynamic Programming Explained
Brief Definition Dynamic programming refers to simplifying a complicated problem by breaking it down into simpler sub-problems in a recursive manner. Wherever we see a recursive solution that has repeated calls for same inputs, we can optimize it using dynamic programming. The main idea is to store the results of sub-problems to avoid re-computing. How to Solve Decide State A state can be uniquely defined by a set of parameters Define Transition »