Top 150 DSA Questions

Master these problems to crack interviews at top tech companies

Progress: 0 / 1500%
Showing 150 of 150 questions
Done#QuestionDifficultyTopicsCompaniesLink
1Two SumEasy
ArrayHash Table
AmazonGoogleMicrosoft+2
2Add Two NumbersMedium
Linked ListMath
AmazonMicrosoftApple
3Longest Substring Without Repeating CharactersMedium
StringSliding Window
AmazonGoogleFacebook+1
4Median of Two Sorted ArraysHard
ArrayBinary Search
GoogleMicrosoftApple
5Longest Palindromic SubstringMedium
StringDynamic Programming
AmazonMicrosoftApple
6Zigzag ConversionMedium
String
AmazonGoogle
7Reverse IntegerMedium
Math
AmazonAppleBloomberg
8String to Integer (atoi)Medium
String
AmazonMicrosoftFacebook
9Palindrome NumberEasy
Math
AmazonGoogleApple
10Regular Expression MatchingHard
StringDynamic Programming
GoogleFacebookUber
11Container With Most WaterMedium
ArrayTwo Pointers
AmazonGoogleFacebook
12Integer to RomanMedium
MathString
AmazonMicrosoft
13Roman to IntegerEasy
MathString
AmazonGoogleFacebook
14Longest Common PrefixEasy
String
AmazonGoogleApple
153SumMedium
ArrayTwo Pointers
AmazonGoogleFacebook+1
163Sum ClosestMedium
ArrayTwo Pointers
AmazonMicrosoft
17Letter Combinations of a Phone NumberMedium
StringBacktracking
AmazonGoogleFacebook
184SumMedium
ArrayTwo Pointers
AmazonGoogle
19Remove Nth Node From End of ListMedium
Linked ListTwo Pointers
AmazonMicrosoftFacebook
20Valid ParenthesesEasy
StringStack
AmazonGoogleFacebook+1
21Merge Two Sorted ListsEasy
Linked List
AmazonGoogleMicrosoft
22Generate ParenthesesMedium
StringBacktracking
AmazonGoogleUber
23Merge k Sorted ListsHard
Linked ListHeap
AmazonGoogleFacebook+1
24Swap Nodes in PairsMedium
Linked List
AmazonMicrosoft
25Reverse Nodes in k-GroupHard
Linked List
AmazonGoogleMicrosoft
26Remove Duplicates from Sorted ArrayEasy
ArrayTwo Pointers
AmazonGoogleFacebook
27Remove ElementEasy
ArrayTwo Pointers
AmazonGoogle
28Find the Index of the First Occurrence in a StringEasy
String
AmazonMicrosoft
29Divide Two IntegersMedium
MathBinary Search
AmazonFacebook
30Substring with Concatenation of All WordsHard
StringHash Table
AmazonGoogle
31Next PermutationMedium
Array
AmazonGoogleMicrosoft
32Longest Valid ParenthesesHard
StringDynamic Programming
AmazonGoogleFacebook
33Search in Rotated Sorted ArrayMedium
ArrayBinary Search
AmazonGoogleFacebook+1
34Find First and Last Position of Element in Sorted ArrayMedium
ArrayBinary Search
AmazonGoogleMicrosoft
35Search Insert PositionEasy
ArrayBinary Search
AmazonGoogle
36Valid SudokuMedium
ArrayHash Table
AmazonAppleUber
37Sudoku SolverHard
ArrayBacktracking
AmazonGoogleUber
38Count and SayMedium
String
AmazonFacebook
39Combination SumMedium
ArrayBacktracking
AmazonGoogleFacebook
40Combination Sum IIMedium
ArrayBacktracking
AmazonGoogle
41First Missing PositiveHard
ArrayHash Table
AmazonGoogleMicrosoft
42Trapping Rain WaterHard
ArrayTwo Pointers
AmazonGoogleFacebook+1
43Multiply StringsMedium
MathString
AmazonGoogleFacebook
44Wildcard MatchingHard
StringDynamic Programming
GoogleFacebook
45Jump Game IIMedium
ArrayGreedy
AmazonGoogleMicrosoft
46PermutationsMedium
ArrayBacktracking
AmazonGoogleFacebook+1
47Permutations IIMedium
ArrayBacktracking
AmazonGoogleMicrosoft
48Rotate ImageMedium
ArrayMatrix
AmazonGoogleApple+1
49Group AnagramsMedium
StringHash Table
AmazonGoogleFacebook+1
50Pow(x, n)Medium
MathBinary Search
AmazonGoogleFacebook
51N-QueensHard
ArrayBacktracking
AmazonGoogleApple
52N-Queens IIHard
ArrayBacktracking
AmazonGoogle
53Maximum SubarrayMedium
ArrayDynamic Programming
AmazonGoogleFacebook+1
54Spiral MatrixMedium
ArrayMatrix
AmazonGoogleMicrosoft+1
55Jump GameMedium
ArrayGreedy
AmazonGoogleMicrosoft
56Merge IntervalsMedium
ArraySorting
AmazonGoogleFacebook+1
57Insert IntervalMedium
Array
AmazonGoogleFacebook
58Length of Last WordEasy
String
AmazonMicrosoft
59Spiral Matrix IIMedium
ArrayMatrix
AmazonGoogle
60Permutation SequenceHard
MathBacktracking
AmazonGoogle
61Rotate ListMedium
Linked List
AmazonMicrosoft
62Unique PathsMedium
ArrayDynamic Programming
AmazonGoogleMicrosoft
63Unique Paths IIMedium
ArrayDynamic Programming
AmazonGoogle
64Minimum Path SumMedium
ArrayDynamic Programming
AmazonGoogleMicrosoft
65Valid NumberHard
String
AmazonGoogle
66Plus OneEasy
ArrayMath
AmazonGoogle
67Add BinaryEasy
MathString
AmazonFacebook
68Text JustificationHard
StringArray
AmazonGoogleUber
69Sqrt(x)Easy
MathBinary Search
AmazonFacebook
70Climbing StairsEasy
MathDynamic Programming
AmazonGoogleMicrosoft
71Simplify PathMedium
StringStack
AmazonFacebook
72Edit DistanceHard
StringDynamic Programming
AmazonGoogleFacebook
73Set Matrix ZeroesMedium
ArrayMatrix
AmazonMicrosoftApple
74Search a 2D MatrixMedium
ArrayBinary Search
AmazonGoogleMicrosoft
75Sort ColorsMedium
ArrayTwo Pointers
AmazonMicrosoftApple
76Minimum Window SubstringHard
StringSliding Window
AmazonGoogleFacebook+1
77CombinationsMedium
ArrayBacktracking
AmazonGoogle
78SubsetsMedium
ArrayBacktracking
AmazonGoogleFacebook
79Word SearchMedium
ArrayBacktracking
AmazonGoogleMicrosoft
80Remove Duplicates from Sorted Array IIMedium
ArrayTwo Pointers
AmazonFacebook
81Search in Rotated Sorted Array IIMedium
ArrayBinary Search
AmazonMicrosoft
82Remove Duplicates from Sorted List IIMedium
Linked List
AmazonMicrosoft
83Remove Duplicates from Sorted ListEasy
Linked List
AmazonMicrosoft
84Largest Rectangle in HistogramHard
ArrayStack
AmazonGoogleFacebook
85Maximal RectangleHard
ArrayDynamic Programming
AmazonGoogleFacebook
86Partition ListMedium
Linked List
AmazonMicrosoft
87Scramble StringHard
StringDynamic Programming
Google
88Merge Sorted ArrayEasy
ArrayTwo Pointers
AmazonMicrosoftFacebook
89Gray CodeMedium
MathBacktracking
AmazonGoogle
90Subsets IIMedium
ArrayBacktracking
AmazonFacebook
91Decode WaysMedium
StringDynamic Programming
AmazonGoogleFacebook
92Reverse Linked List IIMedium
Linked List
AmazonMicrosoftFacebook
93Restore IP AddressesMedium
StringBacktracking
AmazonGoogle
94Binary Tree Inorder TraversalEasy
TreeStack
AmazonGoogleMicrosoft
95Unique Binary Search Trees IIMedium
TreeDynamic Programming
Google
96Unique Binary Search TreesMedium
TreeDynamic Programming
AmazonGoogle
97Interleaving StringHard
StringDynamic Programming
Google
98Validate Binary Search TreeMedium
TreeDepth-First Search
AmazonGoogleFacebook+1
99Recover Binary Search TreeMedium
TreeDepth-First Search
AmazonMicrosoft
100Same TreeEasy
TreeDepth-First Search
AmazonGoogle
101Symmetric TreeEasy
TreeDepth-First Search
AmazonGoogleMicrosoft
102Binary Tree Level Order TraversalMedium
TreeBreadth-First Search
AmazonGoogleFacebook+1
103Binary Tree Zigzag Level Order TraversalMedium
TreeBreadth-First Search
AmazonMicrosoft
104Maximum Depth of Binary TreeEasy
TreeDepth-First Search
AmazonGoogleMicrosoft
105Construct Binary Tree from Preorder and Inorder TraversalMedium
TreeArray
AmazonGoogleMicrosoft
106Construct Binary Tree from Inorder and Postorder TraversalMedium
TreeArray
AmazonMicrosoft
107Binary Tree Level Order Traversal IIMedium
TreeBreadth-First Search
Amazon
108Convert Sorted Array to Binary Search TreeEasy
TreeDepth-First Search
AmazonGoogle
109Convert Sorted List to Binary Search TreeMedium
Linked ListTree
AmazonFacebook
110Balanced Binary TreeEasy
TreeDepth-First Search
AmazonFacebook
111Minimum Depth of Binary TreeEasy
TreeBreadth-First Search
AmazonFacebook
112Path SumEasy
TreeDepth-First Search
AmazonMicrosoft
113Path Sum IIMedium
TreeDepth-First Search
AmazonFacebook
114Flatten Binary Tree to Linked ListMedium
TreeDepth-First Search
AmazonMicrosoft
115Distinct SubsequencesHard
StringDynamic Programming
Google
116Populating Next Right Pointers in Each NodeMedium
TreeDepth-First Search
AmazonMicrosoftFacebook
117Populating Next Right Pointers in Each Node IIMedium
TreeDepth-First Search
AmazonFacebook
118Pascal's TriangleEasy
Array
AmazonGoogle
119Pascal's Triangle IIEasy
Array
AmazonGoogle
120TriangleMedium
ArrayDynamic Programming
Amazon
121Best Time to Buy and Sell StockEasy
ArrayDynamic Programming
AmazonGoogleFacebook+1
122Best Time to Buy and Sell Stock IIMedium
ArrayGreedy
AmazonFacebook
123Best Time to Buy and Sell Stock IIIHard
ArrayDynamic Programming
AmazonFacebook
124Binary Tree Maximum Path SumHard
TreeDepth-First Search
AmazonGoogleFacebook+1
125Valid PalindromeEasy
StringTwo Pointers
AmazonFacebookMicrosoft
126Word Ladder IIHard
StringBreadth-First Search
AmazonGoogle
127Word LadderHard
StringBreadth-First Search
AmazonGoogleFacebook
128Longest Consecutive SequenceMedium
ArrayHash Table
AmazonGoogleFacebook
129Sum Root to Leaf NumbersMedium
TreeDepth-First Search
AmazonMicrosoft
130Surrounded RegionsMedium
ArrayDepth-First Search
AmazonGoogle
131Palindrome PartitioningMedium
StringBacktracking
AmazonGoogle
132Palindrome Partitioning IIHard
StringDynamic Programming
Google
133Clone GraphMedium
GraphDepth-First Search
AmazonGoogleFacebook
134Gas StationMedium
ArrayGreedy
AmazonGoogle
135CandyHard
ArrayGreedy
AmazonGoogle
136Single NumberEasy
ArrayBit Manipulation
AmazonGoogleApple
137Single Number IIMedium
ArrayBit Manipulation
AmazonGoogle
138Copy List with Random PointerMedium
Linked ListHash Table
AmazonGoogleFacebook+1
139Word BreakMedium
StringDynamic Programming
AmazonGoogleFacebook+1
140Word Break IIHard
StringDynamic Programming
AmazonGoogleFacebook
141Linked List CycleEasy
Linked ListTwo Pointers
AmazonMicrosoftFacebook
142Linked List Cycle IIMedium
Linked ListTwo Pointers
AmazonMicrosoftFacebook
143Reorder ListMedium
Linked List
AmazonFacebook
144Binary Tree Preorder TraversalEasy
TreeStack
AmazonMicrosoft
145Binary Tree Postorder TraversalEasy
TreeStack
AmazonMicrosoft
146LRU CacheMedium
DesignHash Table
AmazonGoogleFacebook+1
147Insertion Sort ListMedium
Linked ListSorting
Amazon
148Sort ListMedium
Linked ListSorting
AmazonFacebook
149Max Points on a LineHard
MathHash Table
GoogleApple
150Evaluate Reverse Polish NotationMedium
ArrayStack
AmazonFacebook
😰

DSA Too Difficult?

Try Data Analytics - No heavy coding!