// Zero to Master - 12 Weeks - Full Send

LeetCode
Master Plan

Jean Johnson  |  4-6 hrs/day  |  ~170 problems  |  3 phases
Tracker
Submit Solution
0
Easy Done
0
Med Done
0
Hard Done
0
Total Done
0
Day Streak
Overall Progress
0%
Phase 10%
Phase 20%
Phase 30%
🔥
Start your streak today!
Mark today done after finishing your daily problems
PHASE 1
Pattern Boot Camp
Weeks 1-4: Arrays, Two Pointers, Linked Lists, Stacks
0/56 done
Build muscle memory on the 6 core patterns. Every FAANG problem traces back to these. Do NOT skip Easy problems - understand why the pattern fits.
60-70 problems
Internalize Two-Pointer and Sliding Window
Pattern notes after each topic
20-min attempt before hints
Week 1Arrays, Strings and Hashmaps0/16
// Daily Schedule
8-9:30 AMLearn pattern + 2 Easy problems, no timer
11 AM-12:303 Medium problems, 25 min each max
3-4 PMRe-solve 1 failed problem, add to notes
8-9 PMReview solutions and read discussion tabs
EASY
Two Sum
LC #1
Best Time to Buy and Sell Stock
LC #121
Remove Duplicates from Sorted Array
LC #26
Move Zeroes
LC #283
Valid Anagram
LC #242
Ransom Note
LC #383
Isomorphic Strings
LC #205
Majority Element
LC #169
MEDIUM
Group Anagrams
LC #49
Top K Frequent Elements
LC #347
Product of Array Except Self
LC #238
Subarray Sum Equals K
LC #560
Container With Most Water
LC #11
3Sum
LC #15
Longest Consecutive Sequence
LC #128
Valid Sudoku
LC #36
Week 2Two Pointers and Sliding Window0/11
EASY
Valid Palindrome
LC #125
Merge Sorted Array
LC #88
Contains Duplicate II
LC #219
MEDIUM
Longest Substring Without Repeating Characters
LC #3
Longest Repeating Character Replacement
LC #424
Permutation in String
LC #567
Minimum Size Subarray Sum
LC #209
Search in Rotated Sorted Array
LC #33
Find Minimum in Rotated Sorted Array
LC #153
Koko Eating Bananas
LC #875
Max Consecutive Ones III
LC #1004
Week 3Linked Lists and Binary Search0/15
EASY
Reverse Linked List
LC #206
Merge Two Sorted Lists
LC #21
Linked List Cycle
LC #141
Middle of the Linked List
LC #876
Binary Search
LC #704
First Bad Version
LC #278
MEDIUM
Remove Nth Node From End of List
LC #19
Reorder List
LC #143
LRU Cache
LC #146
Add Two Numbers
LC #2
Time Based Key-Value Store
LC #981
HARD
Merge K Sorted Lists
LC #23
Median of Two Sorted Arrays
LC #4
Minimum Window Substring
LC #76
Reverse Nodes in k-Group
LC #25
Week 4Stacks, Queues and Intervals0/14
EASY
Valid Parentheses
LC #20
Min Stack
LC #155
Implement Queue using Stacks
LC #232
MEDIUM
Daily Temperatures
LC #739
Evaluate Reverse Polish Notation
LC #150
Merge Intervals
LC #56
Insert Interval
LC #57
Non-overlapping Intervals
LC #435
Meeting Rooms II
LC #253
Asteroid Collision
LC #735
HARD
Largest Rectangle in Histogram
LC #84
Trapping Rain Water
LC #42
PHASE 2
Intermediate Patterns
Weeks 5-8: Trees, Graphs, Backtracking, Heaps, Tries
0/52 done
Trees and Graphs are the most common interview topics at top companies. Add 1 timed 45-min mock problem per day this phase.
55-65 problems
BFS and DFS cold
1 mock daily
2 mock interviews by Week 8
Week 5Binary Trees and BST0/15
EASY
Invert Binary Tree
LC #226
Maximum Depth of Binary Tree
LC #104
Symmetric Tree
LC #101
Diameter of Binary Tree
LC #543
Balanced Binary Tree
LC #110
MEDIUM
Binary Tree Level Order Traversal
LC #102
Binary Tree Right Side View
LC #199
Validate Binary Search Tree
LC #98
Kth Smallest Element in BST
LC #230
Lowest Common Ancestor of BST
LC #235
Construct Binary Tree from Preorder and Inorder
LC #105
Count Good Nodes in Binary Tree
LC #1448
Path Sum II
LC #113
HARD
Binary Tree Maximum Path Sum
LC #124
Serialize and Deserialize Binary Tree
LC #297
Week 6Graphs - BFS, DFS, Union Find0/13
MEDIUM
Number of Islands
LC #200
Clone Graph
LC #133
Max Area of Island
LC #695
Rotting Oranges
LC #994
Pacific Atlantic Water Flow
LC #417
Course Schedule
LC #207
Course Schedule II
LC #210
Redundant Connection
LC #684
Graph Valid Tree
LC #261
HARD
Word Ladder
LC #127
Alien Dictionary
LC #269
Swim in Rising Water
LC #778
Surrounded Regions
LC #130
Week 7Backtracking and Heaps0/14
MEDIUM
Subsets
LC #78
Combination Sum
LC #39
Permutations
LC #46
Letter Combinations of a Phone Number
LC #17
Word Search
LC #79
Palindrome Partitioning
LC #131
Kth Largest Element in an Array
LC #215
Task Scheduler
LC #621
K Closest Points to Origin
LC #973
HARD
N-Queens
LC #51
Find Median from Data Stream
LC #295
Sliding Window Maximum
LC #239
Word Search II
LC #212
Week 8Tries and Advanced Trees0/10
MEDIUM
Implement Trie (Prefix Tree)
LC #208
Add and Search Word
LC #211
Replace Words
LC #648
Maximum XOR of Two Numbers in Array
LC #421
Range Sum Query - Mutable
LC #307
Map Sum Pairs
LC #677
HARD
Concatenated Words
LC #472
Prefix and Suffix Search
LC #745
Stream of Characters
LC #1032
Short Encoding of Words
LC #820
PHASE 3
Advanced and Interview Simulation
Weeks 9-12: DP, Greedy, Advanced Graphs, Mocks
0/44 done
DP separates good engineers from great ones. 2 mock interviews per week from Week 10 onward. Use Pramp or Interviewing.io.
40-50 problems
Identify DP pattern before coding
2 mocks/week Weeks 10-12
80%+ on Mediums cold
Week 9Dynamic Programming - 1D and 2D0/14
EASY
Climbing Stairs
LC #70
House Robber
LC #198
Min Cost Climbing Stairs
LC #746
MEDIUM
House Robber II
LC #213
Longest Palindromic Substring
LC #5
Coin Change
LC #322
Longest Increasing Subsequence
LC #300
Unique Paths
LC #62
Partition Equal Subset Sum
LC #416
Decode Ways
LC #91
Longest Common Subsequence
LC #1143
HARD
Edit Distance
LC #72
Burst Balloons
LC #312
Distinct Subsequences
LC #115
Week 10Greedy and Advanced Graphs0/14
MEDIUM
Jump Game
LC #55
Jump Game II
LC #45
Gas Station
LC #134
Partition Labels
LC #763
Network Delay Time
LC #743
Path with Maximum Probability
LC #1514
Min Cost to Connect All Points
LC #1584
Hand of Straights
LC #846
HARD
Cheapest Flights Within K Stops
LC #787
Reconstruct Itinerary
LC #332
Critical Connections in a Network
LC #1192
Candy
LC #135
Max Points on a Line
LC #149
Jump Game III
LC #1306
Weeks 11-12Mock Interviews and Weak Spot Grinding0/16
// Final Phase Daily Schedule
8-9:30 AM2 timed Mediums, 25 min each, no hints
11 AM-12:301 timed Hard, 45 min, attempt before looking
3-4 PMRe-do 2 problems from your mistakes log
6-8 PMMock interview via Pramp or Interviewing.io
MEDIUM - High Frequency Finals
Maximum Product Subarray
LC #152
Word Break
LC #139
Counting Bits
LC #338
Missing Number
LC #268
Rotate Image
LC #48
Spiral Matrix
LC #54
Set Matrix Zeroes
LC #73
HARD - Prestige Problems
Longest Valid Parentheses
LC #32
Regular Expression Matching
LC #10
Maximal Rectangle
LC #85
Russian Doll Envelopes
LC #354
Count of Smaller Numbers After Self
LC #315
Shortest Path in Grid with Obstacles
LC #1293
Race Car
LC #818
Stone Game
LC #877
Number of Ways to Form Target String
LC #1639
Pattern Cheat Sheet
// Two Pointer
l, r = 0, len(arr)-1
while l < r:
    if cond: l += 1
    else: r -= 1
// Sliding Window
l = 0
for r in range(len(s)):
    while invalid: l += 1
    # update answer
// BFS
from collections import deque
q = deque([start])
visited = {start}
while q:
    node = q.popleft()
    for nb in graph[node]:
        if nb not in visited:
            visited.add(nb)
            q.append(nb)
// Backtracking
def bt(start, path):
    if done: res.append(path[:])
    for i in range(start, n):
        path.append(arr[i])
        bt(i+1, path)
        path.pop()
// Binary Search
lo, hi = 0, len(arr)-1
while lo <= hi:
    mid = (lo+hi)//2
    if arr[mid] == t: return mid
    elif arr[mid] < t: lo = mid+1
    else: hi = mid-1
// Union Find
parent = list(range(n))
def find(x):
    if parent[x] != x:
        parent[x] = find(parent[x])
    return parent[x]
def union(x,y):
    parent[find(x)] = find(y)
// DP Template
dp = [0] * (n+1)
dp[0] = base_case
for i in range(1, n+1):
    dp[i] = dp[i-1] + ...
// Trie Node
class TrieNode:
    def __init__(self):
        self.children = {}
        self.end = False
🔒
Restricted Access
This section is private. Enter your password to submit solutions, or request access below.
Incorrect password. Try again.
OR