Progress Β· 0/6 phases
ποΈ ποΈ All 90 Days Reference β DSA Roadmap
8 min read Β· Notion
Every day has a specific deliverable: study the pattern, solve the listed problems, internalize the recognition trigger. Mark Done only when you can solve cold (no notes) in under 20 minutes.
Phase 1 β Foundations (Days 1β15)
| Day | Pattern | Problems to Solve |
|---|---|---|
| 1 | Prefix Sum basics | Running Sum of 1D Array, Find Pivot Index |
| 2 | Prefix Sum + HashMap | Subarray Sum Equals K, Range Sum Query |
| 3 | Prefix Product | Product of Array Except Self |
| 4 | Two Pointers basics | Two Sum II, Valid Palindrome |
| 5 | Two Pointers advanced | 3Sum, Container With Most Water |
| 6 | Two Pointers hard | Trapping Rain Water, Sort Colors |
| 7 | Sliding Window fixed | Best Time to Buy/Sell Stock, Max Average Subarray |
| 8 | Sliding Window variable | Longest Substring No Repeat, Permutation in String |
| 9 | Sliding Window hard | Minimum Window Substring, Longest Repeating Char Replace |
| 10 | Binary Search basics | Binary Search, Search a 2D Matrix |
| 11 | Binary Search on rotated | Find Min in Rotated Array, Search in Rotated Array |
| 12 | Binary Search on answer | Koko Eating Bananas, Capacity to Ship Packages |
| 13 | Sort + Greedy | Merge Intervals, Non-Overlapping Intervals |
| 14 | Sort + Heap | Meeting Rooms II |
| 15 | Phase 1 Review | Sliding Window Maximum, Split Array Largest Sum (timed mock) |
Phase 2 β Core Data Structures (Days 16β35)
| Day | Pattern | Problems to Solve |
|---|---|---|
| 16 | Linked List basics | Reverse Linked List, Merge Two Sorted Lists |
| 17 | Fast/Slow Pointer | Linked List Cycle, Linked List Cycle II |
| 18 | Linked List manipulation | Remove Nth From End, Reorder List |
| 19 | Linked List hard | Merge K Sorted Lists, Copy List with Random Pointer |
| 20 | Stack basics | Valid Parentheses, Min Stack |
| 21 | Monotonic Stack | Daily Temperatures, Evaluate RPN |
| 22 | Monotonic Stack hard | Largest Rectangle in Histogram |
| 23 | HashMap basics | Two Sum, Valid Anagram |
| 24 | HashMap intermediate | Group Anagrams, Top K Frequent Elements |
| 25 | HashMap hard | Longest Consecutive Sequence, Design HashMap |
| 26 | Tree DFS basics | Maximum Depth, Invert Binary Tree, Same Tree |
| 27 | Tree DFS validation | Validate BST, Diameter of Binary Tree |
| 28 | Tree DFS LCA | Lowest Common Ancestor of BST |
| 29 | Tree BFS | Binary Tree Level Order Traversal, Right Side View |
| 30 | Tree construction | Construct Tree from Preorder/Inorder |
| 31 | Tree hard | Binary Tree Maximum Path Sum, Kth Smallest in BST |
| 32 | Tree serialization | Serialize/Deserialize Binary Tree |
| 33 | Monotonic Deque | Sliding Window Maximum |
| 34 | Queue design | Design Circular Queue, Number of Recent Calls |
| 35 | Phase 2 Review | 8-problem timed mock (mixed patterns) |
Phase 3 β Advanced Data Structures (Days 36β55)
| Day | Pattern | Problems to Solve |
|---|---|---|
| 36 | Heap basics | Kth Largest Element, Last Stone Weight |
| 37 | Heap Top-K | K Closest Points to Origin, Top K Frequent |
| 38 | Heap + Greedy | Task Scheduler |
| 39 | Two Heaps | Find Median from Data Stream |
| 40 | Heap hard | Merge K Sorted Lists |
| 41 | Graph DFS | Number of Islands, Clone Graph |
| 42 | Graph DFS grid | Pacific Atlantic Water Flow, Surrounded Regions |
| 43 | Topological Sort | Course Schedule, Course Schedule II |
| 44 | Graph BFS | Word Ladder, Rotting Oranges |
| 45 | Graph review | Graph Valid Tree |
| 46 | Dijkstra | Network Delay Time |
| 47 | Dijkstra + state | Cheapest Flights Within K Stops |
| 48 | Dijkstra/Binary Search | Path with Minimum Effort |
| 49 | Bellman-Ford concept | Path with Maximum Probability |
| 50 | Union-Find basics | Number of Connected Components |
| 51 | Union-Find intermediate | Redundant Connection, Number of Provinces |
| 52 | Union-Find hard | Accounts Merge |
| 53 | Trie basics | Implement Trie, Design Add and Search Words |
| 54 | Trie hard | Word Search II |
| 55 | Phase 3 Review | 5-problem timed mock (Heap/Graph/UnionFind/Trie) |
Phase 4 β Core Algorithms (Days 56β75)
| Day | Pattern | Problems to Solve |
|---|---|---|
| 56 | Backtracking basics | Subsets, Permutations |
| 57 | Backtracking combo | Combination Sum, Generate Parentheses |
| 58 | Backtracking constraint | N-Queens |
| 59 | Backtracking grid | Word Search |
| 60 | Backtracking partition | Palindrome Partitioning |
| 61 | DP 1D basics | Climbing Stairs, House Robber |
| 62 | DP 1D intermediate | House Robber II, Coin Change |
| 63 | DP 1D LIS | Longest Increasing Subsequence (both O(n^2) and O(n log n)) |
| 64 | DP 1D strings | Word Break, Decode Ways, Max Product Subarray |
| 65 | DP Grid | Unique Paths, Minimum Path Sum |
| 66 | DP 0/1 Knapsack | Partition Equal Subset Sum |
| 67 | DP Two Strings | Longest Common Subsequence |
| 68 | DP Two Strings hard | Edit Distance, Coin Change II |
| 69 | Greedy basics | Jump Game, Jump Game II |
| 70 | Greedy intermediate | Gas Station, Partition Labels |
| 71 | Greedy intervals | Non-overlapping Intervals |
| 72 | Divide and Conquer | Merge Sort (Sort an Array) |
| 73 | Divide and Conquer Quick Select | Kth Largest Element via Quick Select |
| 74 | D&C / Classic | Maximum Subarray, Majority Element |
| 75 | Phase 4 Review | 6-problem timed mock (Backtrack/DP/Greedy mixed) |
Phase 5 β Advanced & Interview Prep (Days 76β90)
| Day | Pattern | Problems to Solve |
|---|---|---|
| 76 | Bitmask DP basics | Partition to K Equal Sum Subsets |
| 77 | Bitmask DP + BFS | Shortest Path Visiting All Nodes |
| 78 | Bitmask DP hard | Find the Shortest Superstring |
| 79 | Interval DP | Burst Balloons |
| 80 | Interval DP hard | Minimum Cost to Merge Stones |
| 81 | State Machine DP | Best Time to Buy/Sell with Cooldown + Fee |
| 82 | MST Prim's | Min Cost to Connect All Points |
| 83 | MST Kruskal's | Connecting Cities with Minimum Cost |
| 84 | Dijkstra advanced | Swim in Rising Water |
| 85 | Design problems | LRU Cache, LFU Cache |
| 86 | Mock Interview 1 | 2 medium problems, Arrays/Strings/Two Pointer, full 35-min process |
| 87 | Mock Interview 2 | 2 medium problems, Trees/Graphs, full 35-min process |
| 88 | Mock Interview 3 | 2 medium-hard DP problems, full 35-min process |
| 89 | Mock Interview 4 | 1 easy + 1 hard, full 45-min interview simulation |
| 90 | Final Review | Re-solve 10 problems cold across all patterns. Write your own pattern cheat sheet. |
Daily ritual
- Open this table. Find today's row.
- Read the pattern explanation in the phase page before coding.
- Solve each listed problem WITHOUT looking at the solution first (give it 20-25 min).
- If stuck: look at the pattern hint only, not the full solution. Try again.
- After solving (or after seeing the solution): re-type the solution from scratch without copying.
- Log in tracker: Problems solved, Solved without hints, Time taken, Key insight.
- Any problem you couldn't solve cold goes in Problems to revisit β redo it in 3 days.