“Dynamic” here means more than what it actually seems. To Understand it, You need a bit of science fiction, some episodes of Rick & Morty and a pinch of déjà vu madness (Read about Mandelbrot Set type Fractal to get a gist)
Fun Fact : To keep you problem solving approach fresh, unique and sharp don’t follow any Problem Solvers on YouTube, neither look-up for solutions of the problem, instead solve it yourself, even if it means solving a problem after a week, (Yes 1 problem 1 week or even more)
The point here is to force your mind into frustratingly curious state
it’s like suffocating the logical mind in the depth of confusion, the only way out is nothing but solution.
While following problem solvers on the internet can help you solve problem and can assist you, but in my opinion somehow I feel they also influence your thinking and your problem solving approach. But remember there is always more than one solution to a problem, and if you don’t try a problem yourself you will never find that approach/solution.
This is why it is also important to sometimes follow nobody but yourself and your mind.
Dynamic programming is about recognizing that a problem consists of sub-problems,
Solving that sub-problem which eventually solves the problem itslef
Example, say a sequence, Jot down the sequence find the pattern in the sequence
Construct the recurrence relation formula for the sequence Identify the base case condition and use recursive call accordingly. But always remember when using recursive approach you must and should have a base case condition : this is the crux of recursion Get specific here at Code Guide