Skip to content

Study Schedule

FLEXIBLE TIMELINE

This schedule assumes a weekend sprint --- Saturday and Sunday, roughly 8 hours each. If you have more time, spread it out. If you have less, prioritize Tier 1 (Graphs) and Tier 2 (Trees) above everything else.

Tier Priority — Where to Focus


Saturday --- 8 Hours

Goal: Master Graphs (all 8 problems) and start Trees.

TimeBlockFocusProblemsGoal
9:00 -- 10:00Morning 1Graphs: BFS/DFS#1 Number of Islands, #2 Course ScheduleMaster grid BFS and topological sort
10:00 -- 11:00Morning 2Graphs: Topo Sort#3 Course Schedule II, #4 Word LadderLock in Kahn's algorithm and BFS shortest path
11:00 -- 12:00Morning 3Graphs: Advanced#5 Clone Graph, #6 Network Delay TimeDFS + HashMap cloning, Dijkstra's
12:00 -- 1:00LunchBreak---Eat, walk, rest your brain
1:00 -- 2:00Afternoon 1Graphs: Multi-source#7 Rotting Oranges, #8 Pacific AtlanticMulti-source BFS, reverse-direction DFS
2:00 -- 3:00Afternoon 2Trees: Core#9 Binary Tree Max Path Sum, #10 LCA of BSTTree DP pattern, BST property exploitation
3:00 -- 4:00Afternoon 3Trees: LCA + Serialize#11 LCA of Binary Tree, #12 Serialize/Deserialize BTRecursive LCA, BFS serialization
4:00 -- 4:30BreakRest---Step away from the screen
4:30 -- 5:30Evening 1Trees: Validate + Diameter#13 Validate BST, #14 Diameter of Binary TreeInorder/bounds technique, post-order DFS
5:30 -- 6:30Evening 2ReviewRe-solve 2--3 problems you struggled withSolidify weak spots before moving on

END OF SATURDAY CHECKPOINT

By end of Saturday, you should be able to write BFS, DFS, Topological Sort, and Dijkstra's from memory. If you cannot, spend the first 30 minutes of Sunday morning re-doing Graph templates before moving on.


Sunday --- 8 Hours

Goal: Cover all remaining categories and run 2 timed mocks.

TimeBlockFocusProblemsGoal
9:00 -- 10:00Morning 1Sliding Window#15 Longest Substring Without Repeating, #16 Minimum Window SubstringMaster the expand/shrink template
10:00 -- 11:00Morning 2Sliding Window + DP#17 Sliding Window Maximum, #18 Longest Repeating Char ReplacementMonotonic deque, sliding window variant
11:00 -- 12:00Morning 3DP: 1D#19 Coin Change, #20 LIS, #21 House RobberLock in 1D DP pattern and transitions
12:00 -- 1:00LunchBreak---Eat, walk, decompress
1:00 -- 2:00Afternoon 1DP: 2D + Memo#22 Unique Paths, #23 Longest Increasing Path in MatrixGrid DP and DFS + memoization
2:00 -- 3:00Afternoon 2HashMap + Heap#24 Group Anagrams, #25 Top K Frequent, #26 Merge K Sorted ListsGrouping pattern, min-heap usage
3:00 -- 4:00Afternoon 3Binary Search#27 Search in Rotated Sorted Array, #28 Find Peak Element, #29 Kth LargestBinary search edge cases, quickselect
4:00 -- 4:30BreakRest---Clear your head before strings and mocks
4:30 -- 5:15Evening 1Strings#30 Implement Trie, #31 Expressive Words, #32 Word SearchTrie implementation, two-pointer, backtracking
5:15 -- 6:00Evening 2Timed Mock 1Pick a problem you have not seen before45 minutes, plain text editor (no IDE), talk out loud
6:00 -- 6:45Evening 3Timed Mock 2Pick another unseen problemSame rules. Practice the full interview flow
6:45 -- 7:30Evening 4ReviewReview both mocks, re-read TemplatesIdentify remaining gaps

TIMED MOCK RULES

  1. Use a plain text editor (no IDE) --- no syntax highlighting, no autocomplete, no running code
  2. Set a 45-minute timer
  3. Talk out loud as if an interviewer is listening
  4. Follow the full flow: clarify, brute force, optimal, code, dry run, complexity
  5. After time is up, check your solution against the LeetCode editorial

Day Before the Interview

PRE-INTERVIEW CHECKLIST

This is NOT a day for new problems. This is a day for consolidation and confidence.

  • Re-solve 2--3 problems you struggled with --- especially any where you needed to look at the walkthrough
  • Review all templates --- read through the Templates page end to end. Can you write BFS, sliding window, and topo sort from memory?
  • Do 1 timed mock --- 45 minutes, plain text editor, talk out loud
  • Review the Interview Day checklist --- read the minute-by-minute breakdown and communication phrases
  • Prepare your environment --- quiet room, stable internet, water bottle, pen and paper
  • Get 7--8 hours of sleep --- a rested brain solves problems faster than a brain that crammed until 2 AM

Hourly Approach for Each Problem

Use this flow for every single problem during your prep:

[0:00 - 0:02]  READ the problem statement carefully
                - What are the inputs? What are the outputs?
                - What are the constraints (array size, value range)?

[0:02 - 0:04]  BRUTE FORCE
                - What is the simplest approach, even if it is O(n^2) or worse?
                - State it clearly: "Brute force: check every pair, O(n^2)."

[0:04 - 0:09]  IDENTIFY PATTERN
                - Does this match a known template? (BFS, sliding window, DP, etc.)
                - What is the optimal time complexity I should aim for?
                - Plan your approach before writing code.

[0:09 - 0:24]  CODE THE SOLUTION
                - Write clean code with good variable names.
                - Use helper functions if logic is complex.
                - Handle edge cases (empty input, single element, etc.).

[0:24 - 0:29]  DRY RUN + DEBUG
                - Walk through a small example by hand.
                - Check off-by-one errors, boundary conditions.
                - Fix any bugs you find.

[0:29 - 0:30]  COMPLEXITY ANALYSIS
                - State time and space complexity.

STUCK AFTER 10 MINUTES?

If you have been staring at a problem for 10 minutes with no progress, look at the walkthrough on the tier page. The goal is to learn the pattern, not to suffer. Read the approach, close it, and code the solution yourself from memory.


Progress Tracker

Problem Difficulty Map

Check off each problem as you complete it. Be honest --- only check it off if you can solve it without looking at the solution.

Tier 1: Graphs

#ProblemLCDoneConfident?
1Number of Islands200[ ][ ]
2Course Schedule207[ ][ ]
3Course Schedule II210[ ][ ]
4Word Ladder127[ ][ ]
5Clone Graph133[ ][ ]
6Network Delay Time743[ ][ ]
7Rotting Oranges994[ ][ ]
8Pacific Atlantic Water Flow417[ ][ ]

Tier 2: Trees

#ProblemLCDoneConfident?
9Binary Tree Max Path Sum124[ ][ ]
10Lowest Common Ancestor BST235[ ][ ]
11Lowest Common Ancestor BT236[ ][ ]
12Serialize/Deserialize BT297[ ][ ]
13Validate BST98[ ][ ]
14Diameter of Binary Tree543[ ][ ]

Tier 3: Sliding Window

#ProblemLCDoneConfident?
15Longest Substring Without Repeating3[ ][ ]
16Minimum Window Substring76[ ][ ]
17Sliding Window Maximum239[ ][ ]
18Longest Repeating Char Replacement424[ ][ ]

Tier 4: Dynamic Programming

#ProblemLCDoneConfident?
19Coin Change322[ ][ ]
20Longest Increasing Subsequence300[ ][ ]
21House Robber198[ ][ ]
22Unique Paths62[ ][ ]
23Longest Increasing Path in Matrix329[ ][ ]
#ProblemLCDoneConfident?
24Group Anagrams49[ ][ ]
25Top K Frequent Elements347[ ][ ]
26Merge K Sorted Lists23[ ][ ]
27Search in Rotated Sorted Array33[ ][ ]
28Find Peak Element162[ ][ ]
29Kth Largest Element215[ ][ ]

Tier 6: Strings

#ProblemLCDoneConfident?
30Implement Trie208[ ][ ]
31Expressive Words809[ ][ ]
32Word Search79[ ][ ]

PROGRESS MILESTONES

  • 8 problems done (all Graphs): You can handle the most common SDE interview question type.
  • 14 problems done (+ Trees): You have covered the top 2 tiers. Most candidates stop here and still do well.
  • 23 problems done (+ SW + DP): You are better prepared than 90% of candidates.
  • 32 problems done (all): Maximum coverage. Spend remaining time on mocks.