Dynamic Programming, you may have seen it before (ha ha)

Image from https://unsplash.com/photos/odxB5oIG_iA

Apart from being an acceptable way to get rushes of serotonin, dynamic programming is a way to cut down on time complexity.

So what is Dynamic Programming? Dynamic Programming is a practice where you break up a problem that is dependent on smaller problems and then optimize the time complexity of those problems to improve the time complexity of the overall problem.