Skip to content

The Sheets, Mapped

There are half a dozen well-known DSA sheets and they mostly contain the same problems. Nobody publishes how much the same, which leaves readers doing avoidable work: finish one sheet, start the next, and discover forty problems in that you have already done most of it.

Every sheet on this site lives in one database, so that question has an answer.

375 problems listed across 3 sheets
224 distinct problems once duplicates are removed
40% of the combined list is duplication
50 problems appear in 3 or more sheets

Read the last figure first. Those 50 problems are what the sheet authors independently agree on, which makes them the highest-value problems on this site — and the ones to do before anything else, whichever sheet you eventually commit to.

How much any two sheets share

Sheet A Sheet B Shared Share of the smaller sheet
NeetCode 150 LeetCode Top Interview 150 77 51%
NeetCode 150 Blind 75 74 99%
Blind 75 LeetCode Top Interview 150 50 67%

The consensus problems

50 problems
12 easy33 medium5 hard

Every problem below appears in at least 3 of the sheets. Finish these and you have covered the core of all of them simultaneously.

The duplication figure is the interesting one. The sheets are not competing curricula — they are the same curriculum with different amounts of padding around it. Which means:

  • Finishing two sheets is not twice the work of one. Once you have done the first, the second is mostly a review pass with a handful of genuinely new problems.
  • The consensus problems are the signal. When five authors working independently all include a problem, that is about as strong a signal as this domain produces. Those problems come first, always.
  • A problem in exactly one sheet is a judgement call, not a requirement. Some are excellent and underrated. Some are that author’s personal favourite. Do them after the consensus set, not before.

Why the course is not organised as a sheet

Section titled “Why the course is not organised as a sheet”

A sheet tells you what to solve. It cannot tell you how to recognise the pattern in a problem you have not seen, and recognition is the entire skill an interview tests. That is why this course is organised by pattern, with the sheets attached to it as practice rather than the reverse.

Concretely: after LC 3, LC 209, LC 424 and LC 76, a sheet has taught you four solutions. The Sliding Window page tries to teach you the cue that fires on the fifth problem too — that “contiguous” plus “longest or shortest satisfying a monotonic condition” means a window, and that a negative number in the array means it does not.

Both matter. Do the sheets. Read the patterns first.

Where each sheet’s sections land in this course

Section titled “Where each sheet’s sections land in this course”
Sheet sectionPhase here
Arrays & Hashing · Array / String · Hashmap03 Core Data Structures · 05 Array and String Patterns
Two Pointers · Sliding Window05 Array and String Patterns
Stack · Monotonic Stack03 Core Data Structures · 05 Array and String Patterns
Binary Search04 Sorting and Searching · 06 Search and Selection
Linked List03 Core Data Structures · 08 Linked List Patterns
Trees · Binary Tree BFS · Binary Search Tree03 Core Data Structures · 09 Tree Patterns
Tries03 Core Data Structures · 05 Trie Patterns
Heap / Priority Queue03 Core Data Structures · 06 Search and Selection
Backtracking11 Recursion and Backtracking
Graphs · Graph BFS03 Graph Representations · 10 Graph Patterns
Advanced Graphs16 Advanced Graph Algorithms
1-D and 2-D Dynamic Programming12 Dynamic Programming
Greedy · Intervals07 Intervals and Greedy
Math & Geometry · Bit Manipulation13 Bit Manipulation and Math
Divide & Conquer11 Recursion and Backtracking
Matrix05 Matrix and Grid Manipulation

Striver’s sheets are indexed by step rather than by problem, and several of their problems live on GeeksforGeeks rather than LeetCode. Those two are therefore mapped step-to-phase rather than problem-to-problem, and their tracker pages say so rather than pretending otherwise.

pch.coffeeTagline

pch.coffeeCta

pch.feedbackHeading

pch.feedbackSubheading