Dynamic Programming, Recursion, Competitive Programming, Leetcode, 3sum.
that we do not use the results of the subproblems once, we do it many times, which means it makes sense to store those results and reuse them as needed. Let’s clarify further. In the sum example, it doesn’t make sense to use dynamic programming, simply because each value is computed exactly once.