Dynamic programming can be a tough game to beat! We usually tend to memorize a few patterns! How about learning the concepts starting from recursion and progressing incrementally right upto a 1-D array? Please take a look at my medium post and let me know what you think?
https://leetcodesolver.medium.com/dynamic-programming-and-the-partition-problem-a91361c9346b