DSA Handbook

#Top 200 questions and company tags

Read the source note first. It changes how much weight to put on the company column.


#1 · Where this data comes from — and where it does not

This is not Big Omega data, and it is not LeetCode Premium frequency data. Those datasets are paid, scraped, and not something this handbook can read or republish accurately.

What this list actually is:

SourceContributes
Blind 75The classic minimum set
NeetCode 150 / 250Pattern-organised expansion
Grind 75Time-budgeted ordering
LeetCode Top Interview 150LeetCode's own curated list
Community-reported company tagsThe company column

Treat the company column as directional, not authoritative. Company question banks rotate, leak, get retired, and vary by team and by office. A tag here means this problem has been widely reported at that company, not this company will ask you this. If you want live frequency data, LeetCode Premium's company filter is the real source — this list is for deciding what to practise, not for predicting your interview.

The useful signal is not the company. It is the pattern. Companies do not share a question list; they share a pattern distribution. Every problem below is tagged with the pattern it drills, and that is the column to plan from.


Interactive simulation — needs JavaScript.


#2 · Coverage

The handbook's pattern pages reference 258 distinct LeetCode problems. Against this 206-problem list:

Count
In this list and taught in the handbook165 (80%)
In this list, not yet on a pattern page41
On a pattern page but not in this list93

The last row is not padding. The pattern pages include ladder rungs and teaching problems that are not interview-frequent but build the intuition the frequent ones need.

#The gaps

The problems below appear on the top list but are not yet worked into a pattern page. Each is still listed in the tables further down, with the page whose pattern it belongs to — so you can slot it into that page's ladder.

LCProblemDiffPatternRead this page first
36Valid SudokuMedArrays & hashinghashing
288Unique Word AbbreviationMedArrays & hashinghashing
348Design Tic-Tac-ToeMedArrays & hashinghashing
380Insert Delete GetRandom O(1)MedArrays & hashinghashing
31Next PermutationMedArray manipulationhashing
48Rotate ImageMedArray manipulationhashing
54Spiral MatrixMedArray manipulationhashing
66Plus OneEasyArray manipulationhashing
73Set Matrix ZeroesMedArray manipulationhashing
289Game of LifeMedArray manipulationhashing
43Multiply StringsMedStringsstrings
283Move ZeroesEasyTwo pointerstwo-pointers
437Path Sum IIIMedPrefix sumsprefix-sum
224Basic CalculatorHardStack & monotonic stackstack
316Remove Duplicate LettersHardStack & monotonic stackstack
50Pow(x, n)MedBinary searchbinary-search
287Find the Duplicate NumberMedLinked listslinked-lists
460LFU CacheHardLinked listslinked-lists
103Binary Tree Zigzag Level Order TraversalMedTreestrees
110Balanced Binary TreeEasyTreestrees
112Path SumEasyTreestrees
114Flatten Binary Tree to Linked ListMedTreestrees
572Subtree of Another TreeEasyTreestrees
662Maximum Width of Binary TreeMedTreestrees
863All Nodes Distance K in Binary TreeMedTreestrees
1448Count Good Nodes in Binary TreeMedTreestrees
1288Remove Covered IntervalsMedIntervalsintervals
329Longest Increasing Path in a MatrixHardGraphsgraphs
332Reconstruct ItineraryHardGraphsgraphs
787Cheapest Flights Within K StopsMedGraphsgraphs
797All Paths From Source to TargetMedGraphsgraphs
1926Nearest Exit from Entrance in MazeMedGraphsgraphs
678Valid Parenthesis StringMedGreedygreedy
44Wildcard MatchingHardDynamic programmingdynamic-programming
63Unique Paths IIMedDynamic programmingdynamic-programming
64Minimum Path SumMedDynamic programmingdynamic-programming
97Interleaving StringMedDynamic programmingdynamic-programming
115Distinct SubsequencesHardDynamic programmingdynamic-programming
221Maximal SquareMedDynamic programmingdynamic-programming
309Best Time to Buy and Sell Stock with CooldownMedDynamic programmingdynamic-programming
7Reverse IntegerMedBit manipulationbit-manipulation

None of the gaps is a missing pattern. They are additional problems in patterns the handbook already teaches — mostly matrix manipulation, extra grid-DP variants, and tree traversals. If you can do the worked examples on the relevant page, these are reps rather than new material.


#3 · The list, by pattern

✓ = taught on a handbook pattern page.

#Arrays & hashing — [hashing.html](hashing.html)

LCProblemDiffReported at
✓1Two SumEasyAmazon, Google, Microsoft, Apple, Meta, Bloomberg
✓169Majority ElementEasyAmazon, Adobe
✓217Contains DuplicateEasyAmazon, Apple, Microsoft
·36Valid SudokuMedAmazon, Apple, Uber
✓49Group AnagramsMedAmazon, Meta, Uber, Google
✓128Longest Consecutive SequenceMedGoogle, Meta, Amazon
·288Unique Word AbbreviationMedGoogle
·348Design Tic-Tac-ToeMedAmazon, Microsoft
·380Insert Delete GetRandom O(1)MedAmazon, Google, Meta

#Array manipulation — [hashing.html](hashing.html)

LCProblemDiffReported at
·66Plus OneEasyAmazon, Google
·31Next PermutationMedGoogle, Meta, Bloomberg
·48Rotate ImageMedAmazon, Microsoft, Apple
·54Spiral MatrixMedAmazon, Microsoft, Google
·73Set Matrix ZeroesMedAmazon, Microsoft
·289Game of LifeMedAmazon, Google, Bloomberg
✓41First Missing PositiveHardAmazon, Google, Microsoft

#Strings — [strings.html](strings.html)

LCProblemDiffReported at
✓125Valid PalindromeEasyMeta, Amazon, Microsoft
✓242Valid AnagramEasyAmazon, Uber, Meta
✓5Longest Palindromic SubstringMedAmazon, Meta, Microsoft, Bloomberg
·43Multiply StringsMedMeta, Amazon
✓227Basic Calculator IIMedAmazon, Google, Meta
✓271Encode and Decode StringsMedGoogle, Meta
✓394Decode StringMedGoogle, Amazon, Bloomberg
✓647Palindromic SubstringsMedAmazon, Meta

#Two pointers — [two-pointers.html](two-pointers.html)

LCProblemDiffReported at
✓88Merge Sorted ArrayEasyMeta, Amazon, Microsoft
·283Move ZeroesEasyMeta, Amazon
✓680Valid Palindrome IIEasyMeta
✓11Container With Most WaterMedAmazon, Meta, Google, Bloomberg
✓153SumMedAmazon, Meta, Google, Adobe
✓184SumMedAmazon, Google
✓75Sort ColorsMedMeta, Amazon, Microsoft
✓167Two Sum IIMedAmazon, Apple
✓42Trapping Rain WaterHardAmazon, Google, Meta, Bloomberg

#Sliding window — [sliding-window.html](sliding-window.html)

LCProblemDiffReported at
✓3Longest Substring Without Repeating CharactersMedAmazon, Meta, Google, Microsoft, Bloomberg
✓209Minimum Size Subarray SumMedMeta, Amazon, Google
✓424Longest Repeating Character ReplacementMedGoogle, Amazon
✓438Find All Anagrams in a StringMedAmazon, Meta
✓567Permutation in StringMedMicrosoft, Amazon
✓76Minimum Window SubstringHardAmazon, Meta, Google, LinkedIn
✓239Sliding Window MaximumHardAmazon, Google, Meta

#Prefix sums — [prefix-sum.html](prefix-sum.html)

LCProblemDiffReported at
✓238Product of Array Except SelfMedAmazon, Meta, Apple, Microsoft
·437Path Sum IIIMedAmazon, Google
✓560Subarray Sum Equals KMedMeta, Amazon, Google

#Stack & monotonic stack — [stack.html](stack.html)

LCProblemDiffReported at
✓20Valid ParenthesesEasyAmazon, Google, Meta, Microsoft, Bloomberg
✓496Next Greater Element IEasyAmazon, Bloomberg
✓71Simplify PathMedMeta, Microsoft
✓150Evaluate Reverse Polish NotationMedAmazon, LinkedIn
✓155Min StackMedAmazon, Google, Bloomberg, Uber
✓503Next Greater Element IIMedAmazon
✓739Daily TemperaturesMedAmazon, Google
✓853Car FleetMedAmazon, Google
✓84Largest Rectangle in HistogramHardAmazon, Google, Meta
✓85Maximal RectangleHardAmazon, Google
·224Basic CalculatorHardGoogle, Amazon
·316Remove Duplicate LettersHardGoogle, Amazon

#Binary search — [binary-search.html](binary-search.html)

LCProblemDiffReported at
✓35Search Insert PositionEasyAmazon
✓278First Bad VersionEasyMeta, Google
✓704Binary SearchEasyAmazon, Google
✓33Search in Rotated Sorted ArrayMedAmazon, Meta, Microsoft, Bloomberg
✓34Find First and Last PositionMedMeta, Amazon, LinkedIn
·50Pow(x, n)MedAmazon, Meta, Google, LinkedIn
✓74Search a 2D MatrixMedAmazon, Microsoft
✓153Find Minimum in Rotated Sorted ArrayMedAmazon, Meta, Microsoft
✓162Find Peak ElementMedMeta, Google, Amazon
✓875Koko Eating BananasMedAmazon, Google, Meta
✓981Time Based Key-Value StoreMedAmazon, Google, Meta
✓1011Capacity To Ship PackagesMedAmazon, Google
✓4Median of Two Sorted ArraysHardAmazon, Google, Meta, Adobe
✓410Split Array Largest SumHardGoogle, Amazon

#Linked lists — [linked-lists.html](linked-lists.html)

LCProblemDiffReported at
✓21Merge Two Sorted ListsEasyAmazon, Google, Microsoft, Apple
✓141Linked List CycleEasyAmazon, Microsoft, Bloomberg
✓160Intersection of Two Linked ListsEasyAmazon, Bloomberg
✓206Reverse Linked ListEasyAmazon, Google, Meta, Microsoft, Apple
✓234Palindrome Linked ListEasyAmazon, Meta
✓2Add Two NumbersMedAmazon, Microsoft, Meta, Bloomberg
✓19Remove Nth Node From End of ListMedAmazon, Meta, Google
✓138Copy List with Random PointerMedAmazon, Meta, Microsoft, Bloomberg
✓142Linked List Cycle IIMedAmazon, Microsoft
✓143Reorder ListMedAmazon, Meta, Microsoft
✓146LRU CacheMedAmazon, Meta, Google, Microsoft, Bloomberg
·287Find the Duplicate NumberMedAmazon, Google, Meta
✓25Reverse Nodes in k-GroupHardAmazon, Meta, Microsoft
·460LFU CacheHardAmazon, Google, Bloomberg

#Trees — [trees.html](trees.html)

LCProblemDiffReported at
✓100Same TreeEasyAmazon, Bloomberg
✓104Maximum Depth of Binary TreeEasyAmazon, Google, LinkedIn
·110Balanced Binary TreeEasyAmazon, Google
·112Path SumEasyAmazon, Bloomberg
✓226Invert Binary TreeEasyGoogle, Amazon
✓543Diameter of Binary TreeEasyMeta, Amazon, Google
·572Subtree of Another TreeEasyAmazon, Meta
✓98Validate Binary Search TreeMedAmazon, Meta, Microsoft, Bloomberg
✓102Binary Tree Level Order TraversalMedAmazon, Meta, Microsoft, Bloomberg
·103Binary Tree Zigzag Level Order TraversalMedAmazon, Microsoft, Bloomberg
✓105Construct Binary Tree from Preorder and InorderMedAmazon, Meta, Microsoft
✓113Path Sum IIMedAmazon, Bloomberg
·114Flatten Binary Tree to Linked ListMedAmazon, Microsoft
✓199Binary Tree Right Side ViewMedMeta, Amazon, Google
✓230Kth Smallest Element in a BSTMedAmazon, Meta, Bloomberg
✓235LCA of a BSTMedAmazon, Meta, Microsoft
✓236LCA of a Binary TreeMedAmazon, Meta, Microsoft, LinkedIn
·662Maximum Width of Binary TreeMedAmazon, Bloomberg
·863All Nodes Distance K in Binary TreeMedAmazon, Meta
·1448Count Good Nodes in Binary TreeMedAmazon, Microsoft
✓124Binary Tree Maximum Path SumHardAmazon, Meta, Google, Microsoft
✓297Serialize and Deserialize Binary TreeHardAmazon, Meta, Google, LinkedIn

#Tries — [tries.html](tries.html)

LCProblemDiffReported at
✓208Implement TrieMedAmazon, Google, Microsoft, Bloomberg
✓211Design Add and Search WordsMedAmazon, Meta, Google
✓648Replace WordsMedAmazon, Google
✓212Word Search IIHardAmazon, Google, Microsoft, Uber
✓642Design Search Autocomplete SystemHardAmazon, Google
✓1032Stream of CharactersHardGoogle, Amazon

#Heap & top-k — [heap.html](heap.html)

LCProblemDiffReported at
✓703Kth Largest Element in a StreamEasyAmazon, Meta
✓1046Last Stone WeightEasyAmazon, Google
✓215Kth Largest Element in an ArrayMedAmazon, Meta, Google, Microsoft
✓347Top K Frequent ElementsMedAmazon, Meta, Google, Uber
✓355Design TwitterMedAmazon, Meta, Twitter
✓973K Closest Points to OriginMedAmazon, Meta, Google, LinkedIn
✓23Merge k Sorted ListsHardAmazon, Google, Meta, Microsoft
✓295Find Median from Data StreamHardAmazon, Google, Meta, Microsoft

#Intervals — [intervals.html](intervals.html)

LCProblemDiffReported at
✓252Meeting RoomsEasyMeta, Amazon, Google
✓56Merge IntervalsMedAmazon, Meta, Google, Bloomberg
✓57Insert IntervalMedGoogle, Amazon, LinkedIn
✓253Meeting Rooms IIMedAmazon, Google, Meta, Bloomberg
✓1094Car PoolingMedAmazon, Google
·1288Remove Covered IntervalsMedAmazon

#Backtracking — [backtracking.html](backtracking.html)

LCProblemDiffReported at
✓17Letter Combinations of a Phone NumberMedAmazon, Meta, Google, Uber
✓22Generate ParenthesesMedAmazon, Google, Meta, Uber
✓39Combination SumMedAmazon, Meta, Uber
✓40Combination Sum IIMedAmazon
✓46PermutationsMedAmazon, Meta, Microsoft, LinkedIn
✓47Permutations IIMedAmazon, Microsoft
✓78SubsetsMedAmazon, Meta, Google, Bloomberg
✓79Word SearchMedAmazon, Meta, Microsoft, Bloomberg
✓90Subsets IIMedAmazon, Meta
✓131Palindrome PartitioningMedAmazon, Google
✓37Sudoku SolverHardAmazon, Google, Uber
✓51N-QueensHardAmazon, Google

#Graphs — [graphs.html](graphs.html)

LCProblemDiffReported at
✓130Surrounded RegionsMedAmazon, Microsoft
✓133Clone GraphMedAmazon, Meta, Google
✓200Number of IslandsMedAmazon, Meta, Google, Microsoft, Bloomberg
✓207Course ScheduleMedAmazon, Meta, Google, Microsoft
✓210Course Schedule IIMedAmazon, Meta, Google, Microsoft
✓286Walls and GatesMedAmazon, Meta, Google
✓417Pacific Atlantic Water FlowMedAmazon, Google
✓695Max Area of IslandMedAmazon, Google
✓743Network Delay TimeMedAmazon, Google
·787Cheapest Flights Within K StopsMedAmazon, Google
·797All Paths From Source to TargetMedAmazon, Google
✓994Rotting OrangesMedAmazon, Google, Microsoft
·1926Nearest Exit from Entrance in MazeMedAmazon
✓127Word LadderHardAmazon, Meta, Google, LinkedIn
✓269Alien DictionaryHardAmazon, Meta, Google, Airbnb
·329Longest Increasing Path in a MatrixHardAmazon, Google
·332Reconstruct ItineraryHardAmazon, Google, Uber

#Union-Find — [union-find.html](union-find.html)

LCProblemDiffReported at
✓261Graph Valid TreeMedGoogle, Meta, Amazon
✓323Number of Connected ComponentsMedAmazon, Google, Meta
✓547Number of ProvincesMedAmazon, Bloomberg
✓684Redundant ConnectionMedAmazon, Google
✓721Accounts MergeMedAmazon, Meta, Google
✓1584Min Cost to Connect All PointsMedAmazon, Google
✓778Swim in Rising WaterHardAmazon, Google

#Greedy — [greedy.html](greedy.html)

LCProblemDiffReported at
✓121Best Time to Buy and Sell StockEasyAmazon, Meta, Microsoft, Bloomberg
✓45Jump Game IIMedAmazon, Google
✓53Maximum SubarrayMedAmazon, Microsoft, LinkedIn, Bloomberg
✓55Jump GameMedAmazon, Meta, Google
✓122Best Time to Buy and Sell Stock IIMedAmazon, Bloomberg
✓134Gas StationMedAmazon, Google, Bloomberg
✓435Non-overlapping IntervalsMedAmazon, Google
✓621Task SchedulerMedAmazon, Meta, Google, Uber
·678Valid Parenthesis StringMedMeta, Amazon
✓763Partition LabelsMedAmazon, Meta, Google
✓767Reorganize StringMedAmazon, Google, Meta
✓846Hand of StraightsMedGoogle, Amazon
✓135CandyHardAmazon, Google
✓502IPOHardAmazon, Google

#Dynamic programming — [dynamic-programming.html](dynamic-programming.html)

LCProblemDiffReported at
✓70Climbing StairsEasyAmazon, Google, Adobe
✓746Min Cost Climbing StairsEasyAmazon
✓62Unique PathsMedAmazon, Google, Bloomberg
·63Unique Paths IIMedAmazon
·64Minimum Path SumMedAmazon, Google
✓72Edit DistanceMedAmazon, Google, Microsoft
✓91Decode WaysMedAmazon, Meta, Google, Uber
·97Interleaving StringMedAmazon, Google
✓139Word BreakMedAmazon, Meta, Google, Uber
✓152Maximum Product SubarrayMedAmazon, LinkedIn
✓198House RobberMedAmazon, Google, LinkedIn
✓213House Robber IIMedAmazon, Microsoft
·221Maximal SquareMedAmazon, Google
✓300Longest Increasing SubsequenceMedAmazon, Google, Microsoft
·309Best Time to Buy and Sell Stock with CooldownMedAmazon, Google
✓322Coin ChangeMedAmazon, Google, Meta, Uber
✓416Partition Equal Subset SumMedAmazon, Google
✓494Target SumMedAmazon, Meta
✓518Coin Change IIMedAmazon
✓1143Longest Common SubsequenceMedAmazon, Google
✓10Regular Expression MatchingHardAmazon, Google, Meta
·44Wildcard MatchingHardAmazon, Google
·115Distinct SubsequencesHardAmazon, Google
✓312Burst BalloonsHardAmazon, Google

#Bit manipulation — [bit-manipulation.html](bit-manipulation.html)

LCProblemDiffReported at
✓136Single NumberEasyAmazon, Google, Bloomberg
✓190Reverse BitsEasyAmazon, Apple
✓191Number of 1 BitsEasyAmazon, Apple, Microsoft
✓268Missing NumberEasyAmazon, Microsoft
✓338Counting BitsEasyAmazon, Apple
·7Reverse IntegerMedAmazon, Bloomberg
✓371Sum of Two IntegersMedAmazon, Microsoft

#4 · By company

Same caveat as above — directional, not a prediction.

Read the pattern distribution, not the problem numbers. The tag data is coarse: Amazon interviews broadly and is reported on almost everything here, so its row carries little information. What survives that noise is the relative pattern weighting, and that is the only column worth planning from.

CompanyTaggedHeaviest patterns
Amazon200dynamic programming 12%, trees 11%, graphs 8%, greedy 7%, linked lists 7%
Google127dynamic programming 14%, graphs 11%, greedy 7%, binary search 7%, stack & monotonic stack 6%
Meta98trees 12%, binary search 9%, linked lists 9%, strings 7%, heap & top-k 7%
Microsoft58linked lists 15%, trees 15%, graphs 8%, array manipulation 6%, arrays & hashing 5%
Bloomberg40trees 20%, linked lists 15%, greedy 10%, stack & monotonic stack 7%, array manipulation 5%
Uber15backtracking 26%, dynamic programming 20%, arrays & hashing 13%, strings 6%, heap & top-k 6%
LinkedIn14trees 21%, binary search 14%, dynamic programming 14%, intervals 7%, sliding window 7%
Apple11arrays & hashing 27%, bit manipulation 27%, linked lists 18%, prefix sums 9%, array manipulation 9%

What to take from this table: every company's top patterns are drawn from the same small set — trees, graphs, DP, hashing, two pointers. That is the actual finding, and it is why the handbook is organised by pattern rather than by company. There is no company-specific curriculum to learn.

What the table does support: Google and Amazon lean hardest on dynamic programming and graphs; Meta, Microsoft and Bloomberg lean on trees and linked lists. If you are short on time and interviewing at one of the first two, weight DP and graphs; at the second three, weight trees and pointer work.

What it does not support: anything about the rows with fewer than about 40 tags. Uber at 26% backtracking is 4 problems out of 15 — that is sample size, not a hiring signal. Read only the top five rows as meaningful.


#5 · How to use this

Do not work through it top to bottom. 200 problems attempted once is worth less than 60 problems you can re-derive, and the whole practice method is built on that claim.

You haveDo
2 weeksThe 40 marked ✓ in the problem index core, nothing else
6 weeksOne pattern page per two days, plus its ✓ problems here
3 monthsThis whole list, with day-7 and day-30 re-derivation

If you have a named company: read its row in the table above for the pattern weighting, and drill the two or three heaviest. The specific problem numbers tell you almost nothing — that list will have rotated by the time you sit down, and the pattern distribution will not have.

The order within a pattern matters more than the order between patterns. Each pattern page's ladder is built so that each rung teaches something the next one assumes. This page is an index; the ladders are the curriculum.