Michael’s Guide to FAANG DSA
DSA Patterns Guide with LeetCode Links and 10-Week Roadmap (Open each pointer below)
Sliding Window
Sample Problems:
Maximum Sum Subarray of Size K
Two Pointers
Sample Problems:
Fast & Slow Pointers (Cycle Detection)
Sample Problems:
Merge Intervals
Sample Problems:
Cyclic Sort
Sample Problems:
Find All Duplicates in an Array
In-place Reversal of a LinkedList
Sample Problems:
Breadth-First Search (BFS)
Sample Problems:
Depth-First Search (DFS)
Sample Problems:
Backtracking
Sample Problems:
Dynamic Programming
Sample Problems:
Greedy
Sample Problems:
Topological Sort
Sample Problems:
Binary Search
Sample Problems:
Search in Rotated Sorted Array
Trie Based
Sample Problems:
Union Find (Disjoint Set)
Sample Problems:
10-Week Roadmap with Specific Problems
Week 1 - Sliding Window + Two Pointers
Week 2 - Fast & Slow Pointers + Merge Intervals
Week 3 - Cyclic Sort + In-place LinkedList Reversal
Week 4 - BFS + DFS
Week 5 - Backtracking + Recursion
Letter Combinations of a Phone Number
Week 6 - Dynamic Programming (1D)
Maximum Product Subarray
Climbing Stairs
Week 7 - Dynamic Programming (2D)
Longest Common Subsequence
Unique Paths
Interleaving String
Week 8 - Greedy + Intervals
Lemonade Change