Dynamic Programming Pattern Leetcode Solutions Cpp Canvas