Courses
8 courses, in order. Start at 1, or jump to the one you need.
New here?
Start with Arrays and Stacks
Each lesson links to the next one.
- 01
Arrays and Stacks
Scan, count, window, LIFO
Arrays & Strings · Hashing · Two Pointers · Stack · Sliding Window
- 02
Search
Sorted space and lists
Sorting · Binary Search · Linked List
- 03
Recursion
The gate
Recursion · Trees · BST · Heap · Tries
- 04
Graphs
Decision trees and adjacency
Backtracking · Graphs · Advanced Graphs
- 05
Optimization
Choose, then reuse
Intervals + Greedy · 1D DP · 2D DP
- 06
Design Method
Requirements, numbers, interfaces
Requirements · Estimation · Interfaces
- 07
Building Blocks
Cache, database, queue, partition
Caching · Databases · Queues · Partitioning
- 08
Worked Systems
Shortener, limiter, feed, chat
URL Shortener · Rate Limiter · News Feed · Chat