NeetCode 150 List: All 150 Problems with Visual Solutions

The NeetCode 150 is the Blind 75 plus 75 more problems, arranged as a roadmap of 18 patterns. Here is the full list in that order. Every one of the 150 links to a FaangPrep lesson that runs the solution step by step, so you can watch the pointers, the stack or the DP table change instead of reading code cold.

Short on time? Do the Blind 75 first: those 75 problems are marked B75 below. Each pattern heading links to the pattern page, which explains when the pattern applies before you start its problems. The patterns cheat sheet has a code template for each.

NeetCode is a separate site; this page only maps its public list to our lessons.

Arrays & Hashing (9)

Count, deduplicate or look up in O(1) instead of rescanning.

  1. 001

    EasyB75Visual solutionLeetCode
  2. 002

    EasyB75Visual solutionLeetCode
  3. 003

    EasyB75Visual solutionLeetCode
  4. 004

    MediumB75Visual solutionLeetCode
  5. 005

    MediumB75Visual solutionLeetCode
  6. 006

    MediumB75Visual solutionLeetCode
  7. 007

    MediumVisual solutionLeetCode
  8. 008

    MediumB75Visual solutionLeetCode
  9. 009

    MediumB75Visual solutionLeetCode

Two Pointers (5)

A sorted array or a string read from both ends.

  1. 010

    EasyB75Visual solutionLeetCode
  2. 011

    MediumVisual solutionLeetCode
  3. 012

    MediumB75Visual solutionLeetCode
  4. 013

    MediumB75Visual solutionLeetCode
  5. 014

    HardVisual solutionLeetCode

Sliding Window (6)

The best contiguous run under a constraint.

  1. 015

    EasyB75Visual solutionLeetCode
  2. 016

    MediumB75Visual solutionLeetCode
  3. 017

    MediumB75Visual solutionLeetCode
  4. 018

    MediumVisual solutionLeetCode
  5. 019

    HardB75Visual solutionLeetCode
  6. 020

    HardVisual solutionLeetCode

Stack (7)

Matching pairs, or the next greater/smaller element.

  1. 021

    EasyB75Visual solutionLeetCode
  2. 022

    MediumVisual solutionLeetCode
  3. 023

    MediumVisual solutionLeetCode
  4. 024

    MediumVisual solutionLeetCode
  5. 025

    MediumVisual solutionLeetCode
  6. 026

    MediumVisual solutionLeetCode
  7. 027

    HardVisual solutionLeetCode

Binary Search (7)

A sorted space, or a yes/no answer that flips once.

  1. 028

    EasyVisual solutionLeetCode
  2. 029

    MediumVisual solutionLeetCode
  3. 030

    MediumVisual solutionLeetCode
  4. 031

    MediumB75Visual solutionLeetCode
  5. 032

    MediumB75Visual solutionLeetCode
  6. 033

    MediumVisual solutionLeetCode
  7. 034

    HardVisual solutionLeetCode

Linked List (11)

Pointer rewiring, fast/slow pointers, dummy heads.

  1. 035

    EasyB75Visual solutionLeetCode
  2. 036

    EasyB75Visual solutionLeetCode
  3. 037

    MediumB75Visual solutionLeetCode
  4. 038

    MediumB75Visual solutionLeetCode
  5. 039

    MediumVisual solutionLeetCode
  6. 040

    MediumVisual solutionLeetCode
  7. 041

    EasyB75Visual solutionLeetCode
  8. 042

    MediumVisual solutionLeetCode
  9. 043

    MediumVisual solutionLeetCode
  10. 044

    HardB75Visual solutionLeetCode
  11. 045

    HardVisual solutionLeetCode

Trees (15)

Recursion that returns something from each subtree.

  1. 046

    EasyB75Visual solutionLeetCode
  2. 047

    EasyB75Visual solutionLeetCode
  3. 048

    EasyVisual solutionLeetCode
  4. 049

    EasyVisual solutionLeetCode
  5. 050

    EasyB75Visual solutionLeetCode
  6. 051

    EasyB75Visual solutionLeetCode
  7. 052

    Lowest Common Ancestor of a Binary Search Tree

    via the binary tree version (LeetCode 236), which also solves the BST case

    MediumB75Visual solutionLeetCode
  8. 053

    MediumB75Visual solutionLeetCode
  9. 054

    MediumVisual solutionLeetCode
  10. 055

    MediumVisual solutionLeetCode
  11. 056

    MediumB75Visual solutionLeetCode
  12. 057

    MediumB75Visual solutionLeetCode
  13. 058

    MediumB75Visual solutionLeetCode
  14. 059

    HardB75Visual solutionLeetCode
  15. 060

    HardB75Visual solutionLeetCode

Tries (3)

Many words sharing prefixes.

  1. 061

    MediumB75Visual solutionLeetCode
  2. 062

    MediumB75Visual solutionLeetCode
  3. 063

    HardB75Visual solutionLeetCode

Heap / Priority Queue (7)

Repeatedly take the smallest or largest; top k.

  1. 064

    EasyVisual solutionLeetCode
  2. 065

    EasyVisual solutionLeetCode
  3. 066

    MediumVisual solutionLeetCode
  4. 067

    MediumVisual solutionLeetCode
  5. 068

    MediumVisual solutionLeetCode
  6. 069

    MediumVisual solutionLeetCode
  7. 070

    HardB75Visual solutionLeetCode

Backtracking (9)

Generate every valid combination, undoing each choice.

  1. 071

    MediumVisual solutionLeetCode
  2. 072

    MediumB75Visual solutionLeetCode
  3. 073

    MediumVisual solutionLeetCode
  4. 074

    MediumVisual solutionLeetCode
  5. 075

    MediumVisual solutionLeetCode
  6. 076

    MediumB75Visual solutionLeetCode
  7. 077

    MediumVisual solutionLeetCode
  8. 078

    MediumVisual solutionLeetCode
  9. 079

    HardVisual solutionLeetCode

Graphs (13)

Grids and networks: BFS for distance, DFS for reach.

  1. 080

    MediumB75Visual solutionLeetCode
  2. 081

    MediumB75Visual solutionLeetCode
  3. 082

    Max Area of Island

    via Number of Islands: the same flood fill, counting cells instead of islands

    MediumVisual solutionLeetCode
  4. 083

    MediumB75Visual solutionLeetCode
  5. 084

    MediumVisual solutionLeetCode
  6. 085

    MediumVisual solutionLeetCode
  7. 086

    MediumVisual solutionLeetCode
  8. 087

    MediumB75Visual solutionLeetCode
  9. 088

    MediumVisual solutionLeetCode
  10. 089

    MediumVisual solutionLeetCode
  11. 090

    MediumB75Visual solutionLeetCode
  12. 091

    MediumB75Visual solutionLeetCode
  13. 092

    HardVisual solutionLeetCode

Advanced Graphs (6)

Weighted shortest paths, MSTs, ordering.

  1. 093

    HardVisual solutionLeetCode
  2. 094

    MediumVisual solutionLeetCode
  3. 095

    MediumVisual solutionLeetCode
  4. 096

    HardVisual solutionLeetCode
  5. 097

    HardB75Visual solutionLeetCode
  6. 098

    MediumVisual solutionLeetCode

1-D Dynamic Programming (12)

Best answer for a prefix, built from smaller prefixes.

  1. 099

    EasyB75Visual solutionLeetCode
  2. 100

    EasyVisual solutionLeetCode
  3. 101

    MediumB75Visual solutionLeetCode
  4. 102

    MediumB75Visual solutionLeetCode
  5. 103

    MediumB75Visual solutionLeetCode
  6. 104

    MediumB75Visual solutionLeetCode
  7. 105

    MediumB75Visual solutionLeetCode
  8. 106

    MediumB75Visual solutionLeetCode
  9. 107

    MediumB75Visual solutionLeetCode
  10. 108

    MediumB75Visual solutionLeetCode
  11. 109

    MediumB75Visual solutionLeetCode
  12. 110

    MediumVisual solutionLeetCode

2-D Dynamic Programming (11)

Two indexes: two strings, a grid, or item × capacity.

  1. 111

    MediumB75Visual solutionLeetCode
  2. 112

    MediumB75Visual solutionLeetCode
  3. 113

    MediumVisual solutionLeetCode
  4. 114

    MediumVisual solutionLeetCode
  5. 115

    MediumVisual solutionLeetCode
  6. 116

    MediumVisual solutionLeetCode
  7. 117

    HardVisual solutionLeetCode
  8. 118

    HardVisual solutionLeetCode
  9. 119

    MediumVisual solutionLeetCode
  10. 120

    HardVisual solutionLeetCode
  11. 121

    HardVisual solutionLeetCode

Greedy (8)

A local choice that provably never needs undoing.

  1. 122

    Maximum Subarray

    Kadane's algorithm

    MediumB75Visual solutionLeetCode
  2. 123

    MediumB75Visual solutionLeetCode
  3. 124

    MediumVisual solutionLeetCode
  4. 125

    MediumVisual solutionLeetCode
  5. 126

    MediumVisual solutionLeetCode
  6. 127

    MediumVisual solutionLeetCode
  7. 128

    MediumVisual solutionLeetCode
  8. 129

    MediumVisual solutionLeetCode

Intervals (6)

Sort by start, then merge or count overlaps.

  1. 130

    MediumB75Visual solutionLeetCode
  2. 131

    MediumB75Visual solutionLeetCode
  3. 132

    MediumB75Visual solutionLeetCode
  4. 133

    EasyB75Visual solutionLeetCode
  5. 134

    MediumB75Visual solutionLeetCode
  6. 135

    HardVisual solutionLeetCode

Math & Geometry (8)

Matrix walks and arithmetic edge cases.

  1. 136

    MediumB75Visual solutionLeetCode
  2. 137

    MediumB75Visual solutionLeetCode
  3. 138

    MediumB75Visual solutionLeetCode
  4. 139

    EasyVisual solutionLeetCode
  5. 140

    EasyVisual solutionLeetCode
  6. 141

    MediumVisual solutionLeetCode
  7. 142

    MediumVisual solutionLeetCode
  8. 143

    MediumVisual solutionLeetCode

Bit Manipulation (7)

XOR tricks, masks and counting bits.

  1. 144

    EasyVisual solutionLeetCode
  2. 145

    EasyB75Visual solutionLeetCode
  3. 146

    EasyB75Visual solutionLeetCode
  4. 147

    EasyB75Visual solutionLeetCode
  5. 148

    EasyB75Visual solutionLeetCode
  6. 149

    MediumB75Visual solutionLeetCode
  7. 150

    MediumVisual solutionLeetCode

NeetCode 150 questions, answered

What is the NeetCode 150?

A list of 150 LeetCode problems grouped into 18 patterns (arrays and hashing, two pointers, sliding window, stack, binary search, linked list, trees, tries, heaps, backtracking, graphs, advanced graphs, 1-D and 2-D DP, greedy, intervals, math and geometry, bit manipulation). It contains all of the Blind 75 plus 75 more problems that fill in the patterns the Blind 75 covers thinly.

NeetCode 150 vs Blind 75: which should I do?

If your interview is a few weeks away, do the Blind 75 first; every one of those problems is also in the NeetCode 150, so nothing is wasted. With more time, the extra 75 problems are worth it: they add more stack, binary search, heap, backtracking and graph practice, which is where most people are weakest.

How long does the NeetCode 150 take?

It depends on your starting point. As a rough guide, three to four problems a day, with review, is about six to eight weeks. Going pattern by pattern is faster than random order, because each problem reuses the idea from the one before it.

Is the NeetCode 150 enough for FAANG interviews?

It covers the core patterns that most coding rounds are built from, so it is a strong base. It is not company-specific and it does not include timed practice; once you can solve its problems without hints, practise new problems under a timer and explain your approach out loud.

How is Grind 75 different?

Grind 75 is a newer list by the author of the original Blind 75 post. It is 75 problems by default and can be resized and scheduled by week. The three lists overlap heavily; pick one and finish it rather than switching between them.