D Dynamic Programming
The 1D dynamic programming is a dynamic programming algorithm that uses a single array to store the intermediate results, where the final solution may depend on the previous states.
Double array dynamic programming
The double array dynamic programming is a dynamic programming algorithm that uses two arrays to store the intermediate results.
Multi-dimensional Dynamic Programming
When the state of a subproblem needs more than two indices to describe, we