Dynamic Programming Pattern Leetcode Premium