Study plan
LeetCode 75
LeetCode's own 75-problem plan, in its order: 22 topics, 22 Easy and 53 Medium, no Premium needed. Work down the list, or pick a topic. Every problem has its own page with the same steps as the schedule: learn the basics, try it on paper, code it, then a walkthrough and a tested solution in Python, Java and C++. Want the full path from scratch instead? Try the roadmap.
Only doing LeetCode 75?
Make it your track: your homepage and daily problem follow this list, and it gets its own spot in the top bar.
0/75 solved
Easy 0/22 · Medium 0/53
Solving on LeetCode? Connect your LeetCode username and they tick here by themselves. Solved problems come back for a quick review after 1 day, 1 week and 1 month.
1.Array / String
0/9▶ Lesson: Static Arrays, Dynamic Arrays & Strings💡 Tip: Build strings with a list, then join
- LeetCode ↗
Array / String· ▶ walkthrough
- LeetCode ↗
String math (GCD)· ▶ walkthrough
- LeetCode ↗
Array scan· ▶ walkthrough
- LeetCode ↗
Greedy scan· ▶ walkthrough
- LeetCode ↗
Two pointers· ▶ walkthrough
- LeetCode ↗
Array / String· ▶ walkthrough
- LeetCode ↗
Arrays & Strings· ▶ walkthrough
- LeetCode ↗
Greedy tracking· ▶ walkthrough
- LeetCode ↗String CompressionMedium
Read / write pointers· ▶ walkthrough
2.Two Pointers
0/4▶ Lesson: Two Pointers in 7 Minutes💡 Tip: Two pointers from both ends of a sorted array
- LeetCode ↗Move ZeroesEasy
Two Pointers (Advanced)· ▶ walkthrough
- LeetCode ↗Is SubsequenceEasy
Two pointers· ▶ walkthrough
- LeetCode ↗
Two Pointers (Base)· ▶ walkthrough
- LeetCode ↗
Hash map counting· ▶ walkthrough
3.Sliding Window
0/4▶ Lesson: Sliding Window in 7 Minutes💡 Tip: Variable windows: grow right, shrink left
- LeetCode ↗
Sliding Window (Fixed)
- LeetCode ↗
Fixed sliding window· ▶ walkthrough
- LeetCode ↗Max Consecutive Ones IIIMedium
Variable sliding window· ▶ walkthrough
- LeetCode ↗
Variable sliding window· ▶ walkthrough
- LeetCode ↗
Prefix sum· ▶ walkthrough
- LeetCode ↗Find Pivot IndexEasy
Prefix sum· ▶ walkthrough
5.Hash Map / Set
0/4▶ Lesson: HashMaps & Dictionaries, Explained Simply💡 Tip: Counting things with a hash map
- LeetCode ↗
Hash set· ▶ walkthrough
- LeetCode ↗
Hash map + set· ▶ walkthrough
- LeetCode ↗
Frequency counting· ▶ walkthrough
- LeetCode ↗
Hash map of rows· ▶ walkthrough
- LeetCode ↗
Stack· ▶ walkthrough
- LeetCode ↗Asteroid CollisionMedium
Stack simulation· ▶ walkthrough
- LeetCode ↗Decode StringMedium
Stack (nested structure)· ▶ walkthrough
7.Queue
0/2- LeetCode ↗
Queue· ▶ walkthrough
- LeetCode ↗Dota2 SenateMedium
Queue simulation· ▶ walkthrough
8.Linked List
0/4▶ Lesson: Linked Lists: Singly & Doubly Linked💡 Tip: Reversing a linked list without losing it
- LeetCode ↗
Fast & slow pointers· ▶ walkthrough
- LeetCode ↗Odd Even Linked ListMedium
Linked list rewiring· ▶ walkthrough
- LeetCode ↗
Linked List (Base)· ▶ walkthrough
- LeetCode ↗
Middle + reverse· ▶ walkthrough
9.Binary Tree: DFS
0/6▶ Lesson: Binary Trees & Binary Search Trees💡 Tip: Thinking recursively about trees
- LeetCode ↗
Trees (Traversal)· ▶ walkthrough
- LeetCode ↗
Tree DFS· ▶ walkthrough
- LeetCode ↗
Trees· ▶ walkthrough
- LeetCode ↗Path Sum IIIMedium
Prefix sum on a tree· ▶ walkthrough
- LeetCode ↗
Tree DFS with state· ▶ walkthrough
- LeetCode ↗
Tree DFS (post-order)· ▶ walkthrough
10.Binary Tree: BFS
0/2▶ Lesson: DFS vs BFS, When to Use Which?💡 Tip: BFS level by level
- LeetCode ↗
Trees (BFS)· ▶ walkthrough
- LeetCode ↗
Tree BFS· ▶ walkthrough
11.Binary Search Tree
0/2- LeetCode ↗
BST search· ▶ walkthrough
- LeetCode ↗Delete Node in a BSTMedium
BST modification· ▶ walkthrough
12.Graphs: DFS
0/4▶ Lesson: Graphs: Adjacency Lists, DFS & BFS💡 Tip: A grid is a graph: counting islands with DFS
- LeetCode ↗Keys and RoomsMedium
Graph DFS· ▶ walkthrough
- LeetCode ↗Number of ProvincesMedium
Connected components· ▶ walkthrough
- LeetCode ↗
Graph DFS with edge direction· ▶ walkthrough
- LeetCode ↗Evaluate DivisionMedium
Weighted graph search· ▶ walkthrough
- LeetCode ↗
Grid BFS· ▶ walkthrough
- LeetCode ↗Rotting OrangesMedium
Graphs· ▶ walkthrough
14.Heap / Priority Queue
0/4▶ Lesson: Heaps & Priority Queues (heapq)💡 Tip: Top K with a small heap
- LeetCode ↗
Heap / Priority Queue· ▶ walkthrough
- LeetCode ↗
Heap + set (design)· ▶ walkthrough
- LeetCode ↗
Sort + min-heap· ▶ walkthrough
- LeetCode ↗
Two heaps· ▶ walkthrough
15.Binary Search
0/4▶ Lesson: Binary Search Introduction💡 Tip: Binary search on the answer
- LeetCode ↗
Binary Search· ▶ walkthrough
- LeetCode ↗
Sort + binary search· ▶ walkthrough
- LeetCode ↗Find Peak ElementMedium
Binary search on slope· ▶ walkthrough
- LeetCode ↗Koko Eating BananasMedium
Binary Search (Advanced)· ▶ walkthrough
16.Backtracking
0/2▶ Lesson: Solve Any Backtracking Problem (Template)💡 Tip: Backtracking: choose, explore, un-choose
- LeetCode ↗
Backtracking· ▶ walkthrough
- LeetCode ↗Combination Sum IIIMedium
Backtracking· ▶ walkthrough
17.DP: 1D
0/4▶ Lesson: Mastering Dynamic Programming💡 Tip: Dynamic programming starts with one sentence
- LeetCode ↗
1-D DP· ▶ walkthrough
- LeetCode ↗
Dynamic Programming· ▶ walkthrough
- LeetCode ↗House RobberMedium
Dynamic Programming· ▶ walkthrough
- LeetCode ↗
1-D DP (tiling)· ▶ walkthrough
18.DP: Multidimensional
0/4▶ Lesson: Mastering Dynamic Programming💡 Tip: 2-D DP: a grid of subproblems
- LeetCode ↗Unique PathsMedium
Dynamic Programming· ▶ walkthrough
- LeetCode ↗
Dynamic Programming· ▶ walkthrough
- LeetCode ↗
DP with states· ▶ walkthrough
- LeetCode ↗Edit DistanceMedium
Dynamic Programming· ▶ walkthrough
19.Bit Manipulation
0/3▶ Lesson: Introduction to Bit Manipulation💡 Tip: Three bit tricks worth knowing
- LeetCode ↗Counting BitsEasy
Bit Manipulation & Math· ▶ walkthrough
- LeetCode ↗Single NumberEasy
Bit Manipulation & Math· ▶ walkthrough
- LeetCode ↗
Bit manipulation· ▶ walkthrough
- LeetCode ↗
Trees· ▶ walkthrough
- LeetCode ↗
Sorting + binary search (or trie)· ▶ walkthrough
- LeetCode ↗
Greedy & Intervals· ▶ walkthrough
- LeetCode ↗
Intervals (greedy)· ▶ walkthrough
22.Monotonic Stack
0/2▶ Lesson: Stacks & Queues💡 Tip: Monotonic stack: the next greater element
- LeetCode ↗Daily TemperaturesMedium
Stack· ▶ walkthrough
- LeetCode ↗Online Stock SpanMedium
Monotonic stack (design)· ▶ walkthrough