Dynamic Programming Pattern Leetcode Two Pointers