NeetCode 150: The Full Problem List, Study Order and Timeline

Engineers and former hiring managers from FAANG-tier companies. Combined 500+ technical interviews conducted and 1,200+ hours of coaching candidates.

The NeetCode 150 is a hand-picked set of 150 LeetCode problems on neetcode.io, grouped into 18 pattern categories instead of being sorted by difficulty. The split is 28 easy, 101 medium and 21 hard, and most people finish in 6 to 10 weeks at 15–20 problems a week plus re-solves. Work the categories in the order NeetCode lists them — arrays and hashing, two pointers, sliding window, binary search, linked list, stack, trees, tries, backtracking, heap, graphs, advanced graphs, 1-D and 2-D dynamic programming, greedy, intervals, bit manipulation, then math and geometry — because each one sets up the next. If you have under three weeks, do the leaner NeetCode 75 instead. The full list of all 150 problems is below, grouped by category.

If you've decided to grind LeetCode for interviews, the hardest part isn't solving problems — it's knowing which problems to solve and in what order. The NeetCode 150 answers both. It's one of the most popular curated lists precisely because it's organized around patterns, not random difficulty. This is a practical roadmap for working through the NeetCode 150 (and its leaner sibling, the NeetCode 75) so the repetition actually compounds.

Prefer the original minimalist list? See our Blind 75 guide. And if you're prepping for big tech specifically, this roadmap slots neatly into the broader FAANG interview prep guide.

What the NeetCode 150 actually is

The NeetCode 150 is a hand-picked set of 150 LeetCode problems grouped into 18 categories that map to the patterns interviewers reuse. Instead of a flat list sorted by difficulty, you get buckets: arrays and hashing, two pointers, sliding window, stacks, binary search, linked lists, trees, tries, heaps, backtracking, graphs, dynamic programming, greedy, intervals, and a few more. Each bucket has enough problems to make the pattern stick without being exhaustive.

The design philosophy is simple: you don't memorize 150 solutions, you internalize ~18 patterns. Once a pattern clicks, most problems inside that bucket start to feel like variations on one idea — which is exactly what you want when a new problem lands in a real interview.

NeetCode 75 vs NeetCode 150

There are two versions, and picking the right one matters:

ListSizeBest for
NeetCode 7575 problemsTight timelines; one representative problem per pattern
NeetCode 150150 problemsDeeper reps, more edge cases, fuller coverage

The NeetCode 75 is a streamlined subset — the minimum problems needed to touch every major pattern. It's ideal if you have two or three weeks. The NeetCode 150 keeps the same structure but adds more problems per category so each pattern gets reinforced from several angles. A common approach: do the 75 first to cover the map, then fill in the rest of the 150 where you feel shaky.

How the list is organized by pattern

The category order isn't arbitrary — it's roughly ascending in conceptual dependency, so earlier patterns set up later ones. A representative flow looks like this:

  1. Arrays & Hashing — the foundation; hash maps show up everywhere.
  2. Two Pointers — see our deep dive on the two pointers pattern.
  3. Sliding Window — a natural extension of two pointers.
  4. Stack — parsing, monotonic stacks, and validity checks.
  5. Binary Search — on arrays and on answer spaces.
  6. Linked List — pointer manipulation and cycle detection.
  7. Trees — traversal, recursion, and BFS/DFS.
  8. Tries & Heaps — prefix problems and top-k / priority queues.
  9. Backtracking — combinations, permutations, and subsets.
  10. Graphs — traversal, topological sort, union-find.
  11. Dynamic Programming — 1-D, then 2-D; the steepest curve.
  12. Greedy, Intervals & Math — the finishing categories.
The whole point is transfer: if you truly own the sliding-window bucket, a brand-new sliding-window problem in an interview is no longer novel — it's familiar.

The full NeetCode 150 list

All 150 problems, in the 18 categories NeetCode groups them into — 28 easy, 101 medium and 21 hard. Work the categories top to bottom: the order is roughly ascending in dependency, so each one sets up the next. Checked against neetcode.io in October 2026.

Arrays & Hashing (9)

ProblemDifficulty
Contains DuplicateEasy
Valid AnagramEasy
Two SumEasy
Group AnagramsMedium
Top K Frequent ElementsMedium
Encode and Decode StringsMedium
Product of Array Except SelfMedium
Valid SudokuMedium
Longest Consecutive SequenceMedium

Two Pointers (5)

ProblemDifficulty
Valid PalindromeEasy
Two Sum II Input Array Is SortedMedium
3SumMedium
Container With Most WaterMedium
Trapping Rain WaterHard

Sliding Window (6)

ProblemDifficulty
Best Time to Buy And Sell StockEasy
Longest Substring Without Repeating CharactersMedium
Longest Repeating Character ReplacementMedium
Permutation In StringMedium
Minimum Window SubstringHard
Sliding Window MaximumHard

Binary Search (7)

ProblemDifficulty
Binary SearchEasy
Search a 2D MatrixMedium
Koko Eating BananasMedium
Find Minimum In Rotated Sorted ArrayMedium
Search In Rotated Sorted ArrayMedium
Time Based Key Value StoreMedium
Median of Two Sorted ArraysHard

Linked List (11)

ProblemDifficulty
Reverse Linked ListEasy
Merge Two Sorted ListsEasy
Linked List CycleEasy
Reorder ListMedium
Remove Nth Node From End of ListMedium
Copy List With Random PointerMedium
Add Two NumbersMedium
Find The Duplicate NumberMedium
LRU CacheMedium
Merge K Sorted ListsHard
Reverse Nodes In K GroupHard

Stack (6)

ProblemDifficulty
Valid ParenthesesEasy
Min StackMedium
Evaluate Reverse Polish NotationMedium
Daily TemperaturesMedium
Car FleetMedium
Largest Rectangle In HistogramHard

Trees (15)

ProblemDifficulty
Invert Binary TreeEasy
Maximum Depth of Binary TreeEasy
Diameter of Binary TreeEasy
Balanced Binary TreeEasy
Same TreeEasy
Subtree of Another TreeEasy
Lowest Common Ancestor of a Binary Search TreeMedium
Binary Tree Level Order TraversalMedium
Binary Tree Right Side ViewMedium
Count Good Nodes In Binary TreeMedium
Validate Binary Search TreeMedium
Kth Smallest Element In a BstMedium
Construct Binary Tree From Preorder And Inorder TraversalMedium
Binary Tree Maximum Path SumHard
Serialize And Deserialize Binary TreeHard

Tries (3)

ProblemDifficulty
Implement Trie Prefix TreeMedium
Design Add And Search Words Data StructureMedium
Word Search IIHard

Backtracking (10)

ProblemDifficulty
SubsetsMedium
Combination SumMedium
Combination Sum IIMedium
PermutationsMedium
Subsets IIMedium
Generate ParenthesesMedium
Word SearchMedium
Palindrome PartitioningMedium
Letter Combinations of a Phone NumberMedium
N QueensHard

Heap / Priority Queue (7)

ProblemDifficulty
Kth Largest Element In a StreamEasy
Last Stone WeightEasy
K Closest Points to OriginMedium
Kth Largest Element In An ArrayMedium
Task SchedulerMedium
Design TwitterMedium
Find Median From Data StreamHard

Graphs (13)

ProblemDifficulty
Number of IslandsMedium
Max Area of IslandMedium
Clone GraphMedium
Walls And GatesMedium
Rotting OrangesMedium
Pacific Atlantic Water FlowMedium
Surrounded RegionsMedium
Course ScheduleMedium
Course Schedule IIMedium
Graph Valid TreeMedium
Number of Connected Components In An Undirected GraphMedium
Redundant ConnectionMedium
Word LadderHard

Advanced Graphs (6)

ProblemDifficulty
Network Delay TimeMedium
Reconstruct ItineraryHard
Min Cost to Connect All PointsMedium
Swim In Rising WaterHard
Alien DictionaryHard
Cheapest Flights Within K StopsMedium

1-D Dynamic Programming (12)

ProblemDifficulty
Climbing StairsEasy
Min Cost Climbing StairsEasy
House RobberMedium
House Robber IIMedium
Longest Palindromic SubstringMedium
Palindromic SubstringsMedium
Decode WaysMedium
Coin ChangeMedium
Maximum Product SubarrayMedium
Word BreakMedium
Longest Increasing SubsequenceMedium
Partition Equal Subset SumMedium

2-D Dynamic Programming (11)

ProblemDifficulty
Unique PathsMedium
Longest Common SubsequenceMedium
Best Time to Buy And Sell Stock With CooldownMedium
Coin Change IIMedium
Target SumMedium
Interleaving StringMedium
Longest Increasing Path In a MatrixHard
Distinct SubsequencesHard
Edit DistanceMedium
Burst BalloonsHard
Regular Expression MatchingHard

Greedy (8)

ProblemDifficulty
Maximum SubarrayMedium
Jump GameMedium
Jump Game IIMedium
Gas StationMedium
Hand of StraightsMedium
Merge Triplets to Form Target TripletMedium
Partition LabelsMedium
Valid Parenthesis StringMedium

Intervals (6)

ProblemDifficulty
Insert IntervalMedium
Merge IntervalsMedium
Non Overlapping IntervalsMedium
Meeting RoomsEasy
Meeting Rooms IIMedium
Minimum Interval to Include Each QueryHard

Bit Manipulation (7)

ProblemDifficulty
Single NumberEasy
Number of 1 BitsEasy
Counting BitsEasy
Reverse BitsEasy
Missing NumberEasy
Sum of Two IntegersMedium
Reverse IntegerMedium

Math & Geometry (8)

ProblemDifficulty
Rotate ImageMedium
Spiral MatrixMedium
Set Matrix ZeroesMedium
Happy NumberEasy
Plus OneEasy
Pow(x, n)Medium
Multiply StringsMedium
Detect SquaresMedium

Doing all 150 is not the point — recognising the pattern is. If a category already feels automatic, solve two from it and move on. The Blind 75 is the subset to do first if you have under three weeks, and our 15 patterns guide explains what each category is actually teaching you.

NeetCode vs Blind 75

People often ask which to pick. Here's the honest comparison. Blind 75 is the original, ultra-curated list — a lean checklist of essentials, great for a fast pass. NeetCode 150 builds on that idea but makes the pattern structure explicit and adds more problems and worked explanations per category. If you want the smallest possible set to review before a loop, Blind 75 is perfect. If you want a structured, pattern-first roadmap with more practice per topic, the NeetCode 150 is the stronger long-term study plan. Many candidates do both: Blind 75 as the core, NeetCode 150 to go deeper.

A study order that works

The single biggest mistake is jumping around by difficulty. Do it by category instead, and finish one bucket before starting the next.

Weeks 1–2: Foundations

Arrays & hashing, two pointers, sliding window, stack. These are high-frequency and build confidence. Note the pattern for every problem you solve.

Weeks 3–5: Structures

Binary search, linked lists, trees, tries, heaps. Recursion and pointer discipline get built here. Re-solve anything that took more than one attempt.

Weeks 6–8: Hard patterns

Backtracking, graphs, and dynamic programming. DP is the steepest — take it slowly, and lean on the 1-D problems before the 2-D ones.

Weeks 9–10: Consolidate

Re-solve your weakest 25–30 problems from memory, timed. This is where recognition turns into reflex.

How to practice efficiently

Where a tool helps. CoPilot Interview is a native desktop AI interview assistant with real-time help and prep. For NeetCode practice, it's useful as a backup brain while you drill — nudging you toward the right pattern and helping you rehearse explaining your reasoning aloud. It has a permanent free tier, so you can practice at zero cost. It's a study aid, not a shortcut, and it never replaces understanding the patterns yourself. Follow any employer's stated policy on assistive tools.

The bottom line

The NeetCode 150 works because it's pattern-first: 150 problems, ~18 patterns, one goal — recognize the shape of a problem fast. Use the NeetCode 75 if you're short on time, follow the category order rather than difficulty, re-solve your weak spots, and always narrate out loud. Do that and the list stops being a checklist and becomes real fluency.

Choosing a tool to rehearse with? Our comparison of AI interview assistants lists each option's free tier, starting price and supported platforms side by side.

Rehearse your reasoning, for free

Practice explaining solutions out loud with the free-forever plan — no trial timer, no credit card. A backup brain while you work the list, then real fluency when it counts.

See Pricing →

FAQ

What is the NeetCode 150?

The NeetCode 150 is a curated list of 150 LeetCode problems grouped into roughly 18 patterns — arrays and hashing, two pointers, sliding window, stacks, binary search, trees, graphs, dynamic programming, and more. It expands on the older Blind 75 list to give fuller coverage of each pattern, and it's popular because working through it by category trains pattern recognition rather than memorization.

What is the difference between NeetCode 75 and NeetCode 150?

NeetCode 75 is a streamlined 75-problem subset meant to cover every major pattern with the minimum number of problems, ideal for tight timelines. NeetCode 150 keeps the same pattern structure but adds more problems per category for deeper reinforcement. Start with the 75 if you're short on time; move to the 150 when you want extra reps and edge-case exposure.

Is NeetCode better than Blind 75?

They serve slightly different needs. Blind 75 is the original minimal curated set — great for a fast pass over the essentials. NeetCode reorganizes those ideas explicitly by pattern and, in the 150 version, adds more problems and video explanations per category. If you want a lean checklist, Blind 75 is fine; if you want a structured, pattern-first roadmap with more practice per topic, NeetCode 150 is the stronger fit.

How long does it take to finish the NeetCode 150?

At a sustainable pace of three to five problems a day, most people work through the NeetCode 150 in six to ten weeks, then spend a couple more weeks re-solving the ones they struggled with. The goal isn't to finish fast — it's to reach the point where you can name the pattern within the first minute of reading a new problem. Re-solving beats rushing to the end.

In what order should I do the NeetCode 150?

Follow the built-in category order rather than problem difficulty. Start with arrays and hashing, then two pointers and sliding window, then stacks and binary search, then linked lists and trees, then tries and heaps, then backtracking and graphs, and finish with dynamic programming and the harder categories. Completing one pattern before moving on lets the repetition compound.

What problems are on the NeetCode 150?

The 150 problems are grouped into 18 categories: Arrays & Hashing (9), Two Pointers (5), Sliding Window (6), Binary Search (7), Linked List (11), Stack (6), Trees (15), Tries (3), Backtracking (10), Heap / Priority Queue (7), Graphs (13), Advanced Graphs (6), 1-D Dynamic Programming (12), 2-D Dynamic Programming (11), Greedy (8), Intervals (6), Bit Manipulation (7) and Math & Geometry (8). The split is 28 easy, 101 medium and 21 hard. The full list is on this page.

How many easy, medium and hard problems are in the NeetCode 150?

28 easy, 101 medium and 21 hard. It is a deliberately medium-heavy list, because the medium tier is what most interview questions actually sit at. If the hard problems are blocking you, skip them on the first pass and come back after you have finished every category once.

Related Resources
Blind 75 Guide
The original curated problem list.
LeetCode Patterns
The patterns behind most problems.
Two Pointers Pattern
One of the highest-frequency patterns.
FAANG Prep Guide
The full big-tech loop, start to finish.
Coding Interview Help
Real-time help for coding rounds.
Free AI Interview Assistant
Start free — no trial timer, no card.