Dynamic Programming Pattern Leetcode Interview