Coding interview practice

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

  1. Go topic by topic. Patterns build on each other: hashing before sliding windows, trees before graphs, recursion before dynamic programming.
  2. Give each problem 20–30 minutes before reading the approach. Then write the solution yourself, without copying.
  3. Come back a few days later and solve it again from scratch, faster.
  4. 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

#ProblemDifficultyPattern
1Contains DuplicateEasyHash set
2Valid AnagramEasyCharacter counting
3Two SumEasyHash map of complements
4Group AnagramsMediumCanonical key
5Top K Frequent ElementsMediumCounting + ordering
6Product of Array Except SelfMediumPrefix and suffix products
7Encode and Decode StringsMediumLength-prefix framing
8Longest Consecutive SequenceMediumHash set run starts

Two Pointers

#ProblemDifficultyPattern
9Valid PalindromeEasyTwo pointers
10Three SumMediumSort + two pointers
11Container With Most WaterMediumTwo pointers

Sliding Window

#ProblemDifficultyPattern
12Best Time to Buy and Sell StockEasyRunning minimum
13Longest Substring Without Repeating CharactersMediumSliding window
14Longest Repeating Character ReplacementMediumSliding window with max count
15Minimum Window SubstringHardSliding window with need counts

Stack

#ProblemDifficultyPattern
16Valid ParenthesesEasyStack

Linked List

#ProblemDifficultyPattern
19Reverse Linked ListEasyPointer reversal
20Merge Two Sorted ListsEasyTwo-pointer merge
21Reorder ListMediumMiddle + reverse + weave
22Remove Nth Node From End of ListMediumTwo pointers a fixed gap apart
23Linked List CycleEasyFast and slow pointers
24Merge K Sorted ListsHardMin-heap or divide and conquer

Trees

#ProblemDifficultyPattern
25Invert Binary TreeEasyTree recursion
26Maximum Depth of Binary TreeEasyTree recursion or BFS
27Same TreeEasyParallel recursion
28Subtree of Another TreeEasyTree matching
29Lowest Common Ancestor of a BSTMediumBST walk
30Binary Tree Level Order TraversalMediumBreadth-first search
31Validate Binary Search TreeMediumBounds recursion
32Kth Smallest Element in a BSTMediumIn-order traversal
33Construct Binary Tree from Preorder and Inorder TraversalMediumDivide and conquer
34Binary Tree Maximum Path SumHardPost-order DFS with a global best
35Serialize and Deserialize Binary TreeHardLevel-order encoding

Heap / Priority Queue

#ProblemDifficultyPattern
36Find Median from Data StreamHardTwo heaps

Backtracking

#ProblemDifficultyPattern
37Combination SumMediumBacktracking
38Word SearchMediumGrid backtracking

Tries

#ProblemDifficultyPattern
39Implement TrieMediumPrefix tree
40Design Add and Search WordsMediumTrie + wildcard DFS
41Word Search IIHardTrie-guided backtracking

Graphs

#ProblemDifficultyPattern
42Number of IslandsMediumFlood fill
43Clone GraphMediumGraph traversal with a map
44Pacific Atlantic Water FlowMediumReverse multi-source search
45Course ScheduleMediumTopological sort
46Graph Valid TreeMediumUnion-find
47Number of Connected ComponentsMediumUnion-find or DFS

Advanced Graphs

#ProblemDifficultyPattern
48Alien DictionaryHardTopological sort with a min-heap

1-D Dynamic Programming

#ProblemDifficultyPattern
49Climbing StairsEasy1-D dynamic programming
50House RobberMedium1-D dynamic programming
51House Robber IIMediumDP on two ranges
52Longest Palindromic SubstringMediumExpand around centre
53Palindromic SubstringsMediumExpand around centre
54Decode WaysMedium1-D dynamic programming
55Coin ChangeMediumUnbounded knapsack DP
56Maximum Product SubarrayMediumTrack max and min
57Word BreakMedium1-D dynamic programming
58Longest Increasing SubsequenceMediumPatience sorting

2-D Dynamic Programming

#ProblemDifficultyPattern
59Unique PathsMedium2-D dynamic programming
60Longest Common SubsequenceMedium2-D dynamic programming

Greedy

#ProblemDifficultyPattern
61Maximum SubarrayMediumKadane's algorithm
62Jump GameMediumGreedy reach

Intervals

#ProblemDifficultyPattern
63Insert IntervalMediumLinear merge
64Merge IntervalsMediumSort + sweep
65Non-overlapping IntervalsMediumGreedy by end
66Meeting RoomsEasySort + adjacent check
67Meeting Rooms IIMediumSweep line

Math & Geometry

#ProblemDifficultyPattern
68Rotate ImageMediumTranspose + reverse
69Spiral MatrixMediumShrinking boundaries
70Set Matrix ZeroesMediumIn-place markers

Bit Manipulation

#ProblemDifficultyPattern
71Number of 1 BitsEasyBit tricks
72Counting BitsEasyDP on bits
73Reverse BitsEasyBit shifting
74Missing NumberEasyXOR or sum
75Sum of Two IntegersMediumBitwise 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.

More from DuelCoder