In simple terms dynamic programming, is problem solving approach in programming. Which is split large problem into subproblems. This subproblems result is stored by collection (like array map hash vector etc).
This solution of sub problems are solve at once. And this result can be used so many times during the program execution. And use of this subproblems are achieve the solution of actual problem. This process are reduced the time complexity and improve program execution speed.