Leetcode Patterns Explained