Learning Roadmap

A structured path from beginner to interview-ready. Each topic links directly to filtered problems.

Phase 1Foundation
Weeks 1–3 · ~50 problems
Comfortably solve Easy problemsUnderstand Big-O notationMaster arrays, strings, and hash maps
Arrays & Hashing9+ problems

Most common interview topic. Learn the mental model of indexing and iteration.

Practice →
Hash Tables8+ problems

Turn O(n²) brute force into O(n) with a map. Critical pattern.

Practice →
String Manipulation7+ problems

Substring, reversal, and pattern matching — appears in ~30% of problems.

Practice →
Math & Logic5+ problems

Builds the modular arithmetic and base conversion intuition you'll need.

Practice →
Tips for this phase
  • Read the problem twice before touching code
  • Always clarify constraints (negative numbers? duplicates? sorted?)
  • Brute force first — then optimize
  • Write test cases before coding
Phase 2Core Patterns
Weeks 4–8 · ~100 problems
Recognize the right pattern within 5 minutesSolve most Medium problemsUnderstand recursion deeply
Two Pointers8+ problems

Reduce nested loops. Essential for sorted array and palindrome problems.

Practice →
Sliding Window6+ problems

Optimal for subarray/substring problems. Learn fixed vs variable window.

Practice →
Binary Search10+ problems

Goes beyond sorted arrays — learn to binary search on the answer space.

Practice →
Linked Lists7+ problems

Pointer manipulation and the classic fast/slow pointer trick.

Practice →
Stacks & Queues8+ problems

Monotonic stack pattern unlocks dozens of problems instantly.

Practice →
Trees (DFS/BFS)14+ problems

Tree traversal is the foundation of graph algorithms and recursion.

Practice →
Recursion & Backtracking9+ problems

Learn the decision tree model — essential for combinations/permutations.

Practice →
Tips for this phase
  • After solving, look at the 'most votes' discussion solution
  • Re-solve problems you struggled with 3 days later
  • For trees: always think about what info each node needs to return
  • Draw out examples on paper — don't start with code
Phase 3Advanced Algorithms
Weeks 9–14 · ~80 problems
Tackle most Hard problemsIdentify DP subproblems instinctivelyHandle graph algorithms confidently
Dynamic Programming20+ problems

The hardest and most important topic. Start with 1D, then 2D, then intervals.

Practice →
Graphs (DFS/BFS)12+ problems

Matrix traversal, connected components, topological sort.

Practice →
Heap / Priority Queue7+ problems

Top-K patterns, median of stream, scheduling problems.

Practice →
Greedy9+ problems

Recognize when local optimal = global optimal. Hard to learn, easy to apply.

Practice →
Tries5+ problems

Prefix matching, autocomplete, word search — fast string lookup structure.

Practice →
Union Find6+ problems

Connected components and cycle detection in one elegant structure.

Practice →
Tips for this phase
  • For DP: define the state clearly before writing recurrence
  • For graphs: always track visited nodes to avoid infinite loops
  • Practice explaining your approach out loud (mock interview habit)
  • Time yourself — aim for 25 mins per Medium problem
Phase 4Interview Ready
Weeks 15+ · Ongoing
Solve any problem in a timed interview settingCommunicate clearly while codingHandle follow-up questions about optimization
Bit Manipulation6+ problems

XOR tricks, bit masking — comes up in FAANG interviews.

Practice →
Segment Trees4+ problems

Range query problems — advanced but impressive.

Practice →
Monotonic Stack5+ problems

Next greater element, histogram problems, stock spans.

Practice →
Advanced DP15+ problems

Knapsack variants, bitmask DP, digit DP — for senior roles.

Practice →
Tips for this phase
  • Do 2–3 mock interviews per week on Pramp or with friends
  • Review your notes on each problem after finishing it
  • Focus on the companies you're targeting (check their Blind posts)
  • Don't chase a perfect streak — consistency beats perfection

Study Strategies

🎯The Pattern Recognition Framework

Stop trying to memorize solutions. Instead, learn to map problem characteristics to patterns: sorted array → binary search or two pointers; subarray/substring → sliding window; tree/graph traversal → DFS/BFS; optimize a value → DP or greedy. With ~15 core patterns, you can tackle 90% of problems.

📋The Neetcode 150 Approach

Don't grind 2000+ random problems. The Neetcode 150 (subset of Blind 75 + extras) covers every core pattern with the most representative problems. Quality over quantity — solve 150 problems deeply rather than 500 problems shallowly.

⏱️The 25-Minute Rule

Spend max 25 minutes on a problem. If you're stuck, look at the hint or solution. Understand it completely, implement it yourself without looking, then come back and re-solve it from scratch in 3 days. Struggling past 25 minutes has diminishing returns.

🔁Spaced Repetition (built in)

Use the review system in this app. After solving a problem, rate it Hard/Good/Easy. The SM-2 algorithm schedules re-reviews at optimal intervals. This is how you retain what you learn instead of forgetting it within a week.

🗣️Think Out Loud

Practice narrating your thought process as you code. Interviewers care about how you think, not just whether you get the answer. Say things like 'I'm noticing the array is sorted, so I could use binary search...' — it shows analytical thinking even when you're stuck.

📝The 3-Pass Method

Pass 1: understand the problem and draw examples. Pass 2: think of the brute force approach and its complexity. Pass 3: optimize by identifying the bottleneck. Never skip to Pass 3 — the brute force pass often reveals the pattern.

Pattern Quick Reference

Sorted arrayBinary search or two pointers
Subarray / substringSliding window
Tree / graphDFS or BFS
Shortest pathBFS (unweighted) or Dijkstra
Top-K elementsHeap / priority queue
Combinations / subsetsBacktracking
Overlapping subproblemsDynamic programming
Prefix sumsRange query or cumulative sum
Intervals overlapSort by start, greedy merge
Parentheses / nestingStack
Connected componentsUnion-Find or DFS
String prefix matchingTrie