note-Recursion and DP
Bottom-Up approach:
more intuitive. The key is to think about how to build solution for one case off of the previous caseTop-Down approach:
how to divide the problem for case N into subproblems, be careful of overlap between cases.
time complexity: $O()$
space complexity: $O()$
reference: