Dynamic Programming, Recursion, Competitive Programming, Leetcode, 3sum.
add the current number with the sum of the rest and the sum of the current array. I believe this line of thinking, especially for memoization-based dynamic programming becomes very important. The second property dynamic programming relies on is overlapping subproblems property. This property states