In this roadmap, I'll teach you the patterns behind hard problems. Binary search on answer, backtracking with pruning, greedy algorithms, monotonic stacks, and hashmap design. Each section gives you a pattern, then walks through problems so that you fully understand how it applies.
We solve problems from LeetCode. By the end, you'll recognize these patterns when you see a new problem statement. The techniques become automatic.