Blind 75: the full list, with approaches and 1v1 practice
The Blind 75 is the best-known short list of coding-interview problems: 75 questions that cover the patterns interviews return to again and again. Here is every problem, grouped by topic, each with the idea behind it, its time and space complexity, a common pitfall, and a way to practise it against a real opponent.
- 75 problems
- 18 topics
- 19 easy · 49 medium · 7 hard
How to work through the Blind 75
- Go topic by topic. Patterns build on each other: hashing before sliding windows, trees before graphs, recursion before dynamic programming.
- Give each problem 20–30 minutes before reading the approach. Then write the solution yourself, without copying.
- Come back a few days later and solve it again from scratch, faster.
- Once a topic feels easy alone, practise it under pressure: a timed duel against someone at your level shows what you really know.
Arrays & Hashing
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 1 | Contains Duplicate | Easy | Hash set |
| 2 | Valid Anagram | Easy | Character counting |
| 3 | Two Sum | Easy | Hash map of complements |
| 4 | Group Anagrams | Medium | Canonical key |
| 5 | Top K Frequent Elements | Medium | Counting + ordering |
| 6 | Product of Array Except Self | Medium | Prefix and suffix products |
| 7 | Encode and Decode Strings | Medium | Length-prefix framing |
| 8 | Longest Consecutive Sequence | Medium | Hash set run starts |
Two Pointers
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 9 | Valid Palindrome | Easy | Two pointers |
| 10 | Three Sum | Medium | Sort + two pointers |
| 11 | Container With Most Water | Medium | Two pointers |
Sliding Window
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 12 | Best Time to Buy and Sell Stock | Easy | Running minimum |
| 13 | Longest Substring Without Repeating Characters | Medium | Sliding window |
| 14 | Longest Repeating Character Replacement | Medium | Sliding window with max count |
| 15 | Minimum Window Substring | Hard | Sliding window with need counts |
Stack
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 16 | Valid Parentheses | Easy | Stack |
Binary Search
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 17 | Find Minimum in Rotated Sorted Array | Medium | Binary search |
| 18 | Search in Rotated Sorted Array | Medium | Binary search on the sorted half |
Linked List
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 19 | Reverse Linked List | Easy | Pointer reversal |
| 20 | Merge Two Sorted Lists | Easy | Two-pointer merge |
| 21 | Reorder List | Medium | Middle + reverse + weave |
| 22 | Remove Nth Node From End of List | Medium | Two pointers a fixed gap apart |
| 23 | Linked List Cycle | Easy | Fast and slow pointers |
| 24 | Merge K Sorted Lists | Hard | Min-heap or divide and conquer |
Trees
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 25 | Invert Binary Tree | Easy | Tree recursion |
| 26 | Maximum Depth of Binary Tree | Easy | Tree recursion or BFS |
| 27 | Same Tree | Easy | Parallel recursion |
| 28 | Subtree of Another Tree | Easy | Tree matching |
| 29 | Lowest Common Ancestor of a BST | Medium | BST walk |
| 30 | Binary Tree Level Order Traversal | Medium | Breadth-first search |
| 31 | Validate Binary Search Tree | Medium | Bounds recursion |
| 32 | Kth Smallest Element in a BST | Medium | In-order traversal |
| 33 | Construct Binary Tree from Preorder and Inorder Traversal | Medium | Divide and conquer |
| 34 | Binary Tree Maximum Path Sum | Hard | Post-order DFS with a global best |
| 35 | Serialize and Deserialize Binary Tree | Hard | Level-order encoding |
Heap / Priority Queue
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 36 | Find Median from Data Stream | Hard | Two heaps |
Backtracking
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 37 | Combination Sum | Medium | Backtracking |
| 38 | Word Search | Medium | Grid backtracking |
Tries
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 39 | Implement Trie | Medium | Prefix tree |
| 40 | Design Add and Search Words | Medium | Trie + wildcard DFS |
| 41 | Word Search II | Hard | Trie-guided backtracking |
Graphs
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 42 | Number of Islands | Medium | Flood fill |
| 43 | Clone Graph | Medium | Graph traversal with a map |
| 44 | Pacific Atlantic Water Flow | Medium | Reverse multi-source search |
| 45 | Course Schedule | Medium | Topological sort |
| 46 | Graph Valid Tree | Medium | Union-find |
| 47 | Number of Connected Components | Medium | Union-find or DFS |
Advanced Graphs
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 48 | Alien Dictionary | Hard | Topological sort with a min-heap |
1-D Dynamic Programming
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 49 | Climbing Stairs | Easy | 1-D dynamic programming |
| 50 | House Robber | Medium | 1-D dynamic programming |
| 51 | House Robber II | Medium | DP on two ranges |
| 52 | Longest Palindromic Substring | Medium | Expand around centre |
| 53 | Palindromic Substrings | Medium | Expand around centre |
| 54 | Decode Ways | Medium | 1-D dynamic programming |
| 55 | Coin Change | Medium | Unbounded knapsack DP |
| 56 | Maximum Product Subarray | Medium | Track max and min |
| 57 | Word Break | Medium | 1-D dynamic programming |
| 58 | Longest Increasing Subsequence | Medium | Patience sorting |
2-D Dynamic Programming
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 59 | Unique Paths | Medium | 2-D dynamic programming |
| 60 | Longest Common Subsequence | Medium | 2-D dynamic programming |
Greedy
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 61 | Maximum Subarray | Medium | Kadane's algorithm |
| 62 | Jump Game | Medium | Greedy reach |
Intervals
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 63 | Insert Interval | Medium | Linear merge |
| 64 | Merge Intervals | Medium | Sort + sweep |
| 65 | Non-overlapping Intervals | Medium | Greedy by end |
| 66 | Meeting Rooms | Easy | Sort + adjacent check |
| 67 | Meeting Rooms II | Medium | Sweep line |
Math & Geometry
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 68 | Rotate Image | Medium | Transpose + reverse |
| 69 | Spiral Matrix | Medium | Shrinking boundaries |
| 70 | Set Matrix Zeroes | Medium | In-place markers |
Bit Manipulation
| # | Problem | Difficulty | Pattern |
|---|---|---|---|
| 71 | Number of 1 Bits | Easy | Bit tricks |
| 72 | Counting Bits | Easy | DP on bits |
| 73 | Reverse Bits | Easy | Bit shifting |
| 74 | Missing Number | Easy | XOR or sum |
| 75 | Sum of Two Integers | Medium | Bitwise addition |
Frequently asked questions
What is the Blind 75?
A list of 75 coding-interview problems first shared on the Blind forum by an engineer who wanted the smallest set that still covers the important patterns. It has become the most common starting list for interview preparation.
How long does the Blind 75 take?
At a few problems a day it usually takes several weeks, plus time to revisit the ones that did not stick. Speed comes from solving the same patterns again, not from adding more problems.
Blind 75 or NeetCode 150?
The NeetCode 150 is the Blind 75 plus 75 more problems on the same patterns. Start with the Blind 75; move on to a larger list once you can solve these reliably.
Which language should I use?
The one you know best. Interviewers care about the approach and clean code. DuelCoder supports TypeScript, JavaScript, Python and C++.
Are these the original LeetCode statements?
No. DuelCoder's statements, examples and tests are written independently; the problem names match the public Blind 75 list so you can find them. DuelCoder is not affiliated with LeetCode.