The NeetCode 150 LeetCode List
An expansion of the Blind 75 into eighteen topic groups, from arrays and hashing through advanced graphs and two-dimensional dynamic programming.
- Easy
- 28
- Medium
- 101
- Hard
- 21
- Patterns
- 22
Every entry, grouped by pattern
Each group is the pattern that most specifically solves those problems, so the list can be worked through a technique at a time instead of a problem at a time. Groups appear in the order the list itself introduces them.
Sorting (5)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0217 | Contains Duplicate | Easy | |
| 0242 | Valid Anagram | Easy | |
| 0049 | Group Anagrams | Medium | |
| 0056 | Merge Intervals | Medium | |
| 0252 | Meeting RoomsPremium | Easy |
Hash Map (2)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0001 | Two Sum | Easy | |
| 2013 | Detect Squares | Medium |
Heap / Priority Queue (10)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0347 | Top K Frequent Elements | Medium | |
| 0703 | Kth Largest Element in a Stream | Easy | |
| 1046 | Last Stone Weight | Easy | |
| 0973 | K Closest Points to Origin | Medium | |
| 0215 | Kth Largest Element in an Array | Medium | |
| 0621 | Task Scheduler | Medium | |
| 0295 | Find Median from Data Stream | Hard | |
| 0743 | Network Delay Time | Medium | |
| 0787 | Cheapest Flights Within K Stops | Medium | |
| 1851 | Minimum Interval to Include Each Query | Hard |
Other (2)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0271 | Encode and Decode StringsPremium | Medium | |
| 0057 | Insert Interval | Medium |
Prefix Sum (2)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0238 | Product of Array Except Self | Medium | |
| 0253 | Meeting Rooms IIPremium | Medium |
Matrix and Grid (8)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0036 | Valid Sudoku | Medium | |
| 0074 | Search a 2D Matrix | Medium | |
| 0417 | Pacific Atlantic Water Flow | Medium | |
| 0994 | Rotting Oranges | Medium | |
| 0286 | Walls and GatesPremium | Medium | |
| 0048 | Rotate Image | Medium | |
| 0054 | Spiral Matrix | Medium | |
| 0073 | Set Matrix Zeroes | Medium |
Union-Find (9)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0128 | Longest Consecutive Sequence | Medium | |
| 0200 | Number of Islands | Medium | |
| 0695 | Max Area of Island | Medium | |
| 0130 | Surrounded Regions | Medium | |
| 0684 | Redundant Connection | Medium | |
| 0323 | Number of Connected Components in an Undirected GraphPremium | Medium | |
| 0261 | Graph Valid TreePremium | Medium | |
| 1584 | Min Cost to Connect All Points | Medium | |
| 0778 | Swim in Rising Water | Hard |
Two Pointers (8)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0125 | Valid Palindrome | Easy | |
| 0167 | Two Sum II - Input Array Is Sorted | Medium | |
| 0015 | 3Sum | Medium | |
| 0011 | Container With Most Water | Medium | |
| 0005 | Longest Palindromic Substring | Medium | |
| 0647 | Palindromic Substrings | Medium | |
| 0763 | Partition Labels | Medium | |
| 0202 | Happy Number | Easy |
Stack (8)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0042 | Trapping Rain Water | Hard | |
| 0020 | Valid Parentheses | Easy | |
| 0155 | Min Stack | Medium | |
| 0150 | Evaluate Reverse Polish Notation | Medium | |
| 0739 | Daily Temperatures | Medium | |
| 0853 | Car Fleet | Medium | |
| 0084 | Largest Rectangle in Histogram | Hard | |
| 0678 | Valid Parenthesis String | Medium |
Dynamic Programming (18)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0121 | Best Time to Buy and Sell Stock | Easy | |
| 0070 | Climbing Stairs | Easy | |
| 0746 | Min Cost Climbing Stairs | Easy | |
| 0198 | House Robber | Medium | |
| 0213 | House Robber II | Medium | |
| 0091 | Decode Ways | Medium | |
| 0152 | Maximum Product Subarray | Medium | |
| 0416 | Partition Equal Subset Sum | Medium | |
| 0062 | Unique Paths | Medium | |
| 1143 | Longest Common Subsequence | Medium | |
| 0309 | Best Time to Buy and Sell Stock with Cooldown | Medium | |
| 0518 | Coin Change II | Medium | |
| 0097 | Interleaving String | Medium | |
| 0115 | Distinct Subsequences | Hard | |
| 0072 | Edit Distance | Medium | |
| 0312 | Burst Balloons | Hard | |
| 0010 | Regular Expression Matching | Hard | |
| 0053 | Maximum Subarray | Medium |
Sliding Window (5)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0003 | Longest Substring Without Repeating Characters | Medium | |
| 0424 | Longest Repeating Character Replacement | Medium | |
| 0567 | Permutation in String | Medium | |
| 0076 | Minimum Window Substring | Hard | |
| 0239 | Sliding Window Maximum | Hard |
Backtracking (11)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0022 | Generate Parentheses | Medium | |
| 0078 | Subsets | Medium | |
| 0039 | Combination Sum | Medium | |
| 0046 | Permutations | Medium | |
| 0090 | Subsets II | Medium | |
| 0040 | Combination Sum II | Medium | |
| 0079 | Word Search | Medium | |
| 0131 | Palindrome Partitioning | Medium | |
| 0017 | Letter Combinations of a Phone Number | Medium | |
| 0051 | N-Queens | Hard | |
| 0494 | Target Sum | Medium |
Binary Search (7)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0704 | Binary Search | Easy | |
| 0875 | Koko Eating Bananas | Medium | |
| 0153 | Find Minimum in Rotated Sorted Array | Medium | |
| 0033 | Search in Rotated Sorted Array | Medium | |
| 0981 | Time Based Key-Value Store | Medium | |
| 0004 | Median of Two Sorted Arrays | Hard | |
| 0300 | Longest Increasing Subsequence | Medium |
Linked List (11)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0206 | Reverse Linked List | Easy | |
| 0021 | Merge Two Sorted Lists | Easy | |
| 0143 | Reorder List | Medium | |
| 0019 | Remove Nth Node From End of List | Medium | |
| 0138 | Copy List with Random Pointer | Medium | |
| 0002 | Add Two Numbers | Medium | |
| 0141 | Linked List Cycle | Easy | |
| 0146 | LRU Cache | Medium | |
| 0023 | Merge k Sorted Lists | Hard | |
| 0025 | Reverse Nodes in k-Group | Hard | |
| 0355 | Design Twitter | Medium |
Bit Manipulation (7)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0287 | Find the Duplicate Number | Medium | |
| 0136 | Single Number | Easy | |
| 0191 | Number of 1 Bits | Easy | |
| 0338 | Counting Bits | Easy | |
| 0190 | Reverse Bits | Easy | |
| 0268 | Missing Number | Easy | |
| 0371 | Sum of Two Integers | Medium |
Tree Traversal (15)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0226 | Invert Binary Tree | Easy | |
| 0104 | Maximum Depth of Binary Tree | Easy | |
| 0543 | Diameter of Binary Tree | Easy | |
| 0110 | Balanced Binary Tree | Easy | |
| 0100 | Same Tree | Easy | |
| 0572 | Subtree of Another Tree | Easy | |
| 0235 | Lowest Common Ancestor of a Binary Search Tree | Medium | |
| 0102 | Binary Tree Level Order Traversal | Medium | |
| 0199 | Binary Tree Right Side View | Medium | |
| 1448 | Count Good Nodes in Binary Tree | Medium | |
| 0098 | Validate Binary Search Tree | Medium | |
| 0230 | Kth Smallest Element in a BST | Medium | |
| 0105 | Construct Binary Tree from Preorder and Inorder Traversal | Medium | |
| 0124 | Binary Tree Maximum Path Sum | Hard | |
| 0297 | Serialize and Deserialize Binary Tree | Hard |
Trie (4)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0208 | Implement Trie (Prefix Tree) | Medium | |
| 0211 | Design Add and Search Words Data Structure | Medium | |
| 0212 | Word Search II | Hard | |
| 0139 | Word Break | Medium |
Breadth-First Search (3)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0133 | Clone Graph | Medium | |
| 0127 | Word Ladder | Hard | |
| 0322 | Coin Change | Medium |
Topological Sort (4)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0207 | Course Schedule | Medium | |
| 0210 | Course Schedule II | Medium | |
| 0269 | Alien DictionaryPremium | Hard | |
| 0329 | Longest Increasing Path in a Matrix | Hard |
Depth-First Search (1)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0332 | Reconstruct Itinerary | Hard |
Greedy (6)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0055 | Jump Game | Medium | |
| 0045 | Jump Game II | Medium | |
| 0846 | Hand of Straights | Medium | |
| 1899 | Merge Triplets to Form Target Triplet | Medium | |
| 0134 | Gas Station | Medium | |
| 0435 | Non-overlapping Intervals | Medium |
Math and Number Theory (4)
| No. | Problem | Difficulty | Topics |
|---|---|---|---|
| 0066 | Plus One | Easy | |
| 0050 | Pow(x, n) | Medium | |
| 0043 | Multiply Strings | Medium | |
| 0007 | Reverse Integer | Medium |
The NeetCode 150 is a published third-party selection, reproduced here by problem number in the order the list itself uses. 143 of its 150 entries carry a complete Python solution; the other 7 are LeetCode Premium (marked in the tables) or have no usable solution in our dataset, and are listed rather than dropped.
Eyes only
The NeetCode 150 does not cover the problem you get asked.
In the live round, Stealth Interview reads the problem off your screen, returns a working solution with a step-by-step explanation and its time and space complexity, and transcribes what the interviewer says. It's a desktop app for macOS and Windows, invisible to screen sharing.
Other study lists
Or go by technique instead of by list: all LeetCode patterns · the full problem list.