All DSA Sheets
DSA Prime Sheet
Customize study plans according to your needs. You are recommended to work on the questions in order.
Questions Summary
We have selected these 300 problems. It should take around 123 hours for an average person to solve these problems.
difficulty
Questions grouped by difficulty
Easy: 77
Medium: 170
Hard: 53
topics
Questions grouped by topics
Array: 45
Stack: 21
Linked List: 21
String: 30
Binary Tree: 30
Binary Search: 16
Graph: 27
Binary Search Tree: 13
Hash Table: 4
Dynamic Programming: 36
Binary: 7
Math: 15
Heap: 11
Trie: 7
Recursion: 7
Matrix: 9
Queue: 1
Completed 0 / 300
You can now bookmark the page to save your preferences! We also recently changed the questions presentation settings.
1
Two Sum
easy
·15 mins
·Array
2
Valid Parentheses
easy
·20 mins
·Stack
3
Merge Two Sorted Lists
easy
·20 mins
·Linked List
4
Best Time to Buy and Sell Stock
easy
·20 mins
·Array
5
Valid Palindrome
easy
·15 mins
·String
6
Invert Binary Tree
easy
·15 mins
·Binary Tree
7
Valid Anagram
easy
·15 mins
·String
8
Binary Search
easy
·15 mins
·Binary Search
9
Flood Fill
easy
·20 mins
·Graph
10
Lowest Common Ancestor of a Binary Search Tree
easy
·20 mins
·Binary Search Tree
11
Balanced Binary Tree
easy
·15 mins
·Binary Tree
12
Linked List Cycle
easy
·20 mins
·Linked List
13
Implement Queue using Stacks
easy
·20 mins
·Stack
14
First Bad Version
easy
·20 mins
·Binary Search
15
Ransom Note
easy
·15 mins
·Hash Table
16
Climbing Stairs
easy
·20 mins
·Dynamic Programming
17
Longest Palindrome
easy
·20 mins
·String
18
Reverse Linked List
easy
·20 mins
·Linked List
19
Majority Element
easy
·20 mins
·Array
20
Add Binary
easy
·15 mins
·Binary
21
Diameter of Binary Tree
easy
·30 mins
·Binary Tree
22
Middle of the Linked List
easy
·20 mins
·Linked List
23
Maximum Depth of Binary Tree
easy
·15 mins
·Binary Tree
24
Contains Duplicate
easy
·15 mins
·Array
25
Meeting Rooms
easy
·20 mins
·Array
26
Roman to Integer
easy
·20 mins
·Math
27
Backspace String Compare
easy
·15 mins
·Stack
28
Counting Bits
easy
·15 mins
·Binary
29
Same Tree
easy
·20 mins
·Binary Tree
30
Number of 1 Bits
easy
·15 mins
·Binary
31
Longest Common Prefix
easy
·20 mins
·String
32
Single Number
easy
·15 mins
·Binary
33
Palindrome Linked List
easy
·20 mins
·Linked List
34
Move Zeroes
easy
·20 mins
·Array
35
Symmetric Tree
easy
·20 mins
·Binary Tree
36
Missing Number
easy
·15 mins
·Binary
37
Palindrome Number
easy
·15 mins
·Math
38
Convert Sorted Array to Binary Search Tree
easy
·20 mins
·Binary Search Tree
39
Reverse Bits
easy
·15 mins
·Binary
40
Subtree of Another Tree
easy
·20 mins
·Binary Tree
41
Squares of a Sorted Array
easy
·20 mins
·Array
42
Maximum Subarray
medium
·20 mins
·Dynamic Programming
43
Insert Interval
medium
·25 mins
·Array
44
01 Matrix
medium
·30 mins
·Graph
45
K Closest Points to Origin
medium
·30 mins
·Heap
46
Longest Substring Without Repeating Characters
medium
·30 mins
·String
47
3Sum
medium
·30 mins
·Array
48
Binary Tree Level Order Traversal
medium
·20 mins
·Binary Tree
49
Clone Graph
medium
·25 mins
·Graph
50
Evaluate Reverse Polish Notation
medium
·30 mins
·Stack
51
Course Schedule
medium
·30 mins
·Graph
52
Implement Trie (Prefix Tree)
medium
·35 mins
·Trie
53
Coin Change
medium
·25 mins
·Dynamic Programming
54
Product of Array Except Self
medium
·30 mins
·Array
55
Min Stack
medium
·20 mins
·Stack
56
Validate Binary Search Tree
medium
·20 mins
·Binary Search Tree
57
Number of Islands
medium
·25 mins
·Graph
58
Rotting Oranges
medium
·30 mins
·Graph
59
Search in Rotated Sorted Array
medium
·30 mins
·Binary Search
60
Combination Sum
medium
·30 mins
·Array
61
Permutations
medium
·30 mins
·Recursion
62
Merge Intervals
medium
·30 mins
·Array
63
Lowest Common Ancestor of a Binary Tree
medium
·25 mins
·Binary Tree
64
Time Based Key-Value Store
medium
·35 mins
·Binary Search
65
Accounts Merge
medium
·30 mins
·Graph
66
Sort Colors
medium
·25 mins
·Array
67
Word Break
medium
·30 mins
·Trie
68
Partition Equal Subset Sum
medium
·30 mins
·Dynamic Programming
69
String to Integer (atoi)
medium
·25 mins
·String
70
Spiral Matrix
medium
·25 mins
·Matrix
71
Subsets
medium
·30 mins
·Recursion
72
Binary Tree Right Side View
medium
·20 mins
·Binary Tree
73
Longest Palindromic Substring
medium
·25 mins
·String
74
Unique Paths
medium
·20 mins
·Dynamic Programming
75
Construct Binary Tree from Preorder and Inorder Traversal
medium
·25 mins
·Binary Tree
76
Container With Most Water
medium
·35 mins
·Array
77
Letter Combinations of a Phone Number
medium
·30 mins
·Recursion
78
Word Search
medium
·30 mins
·Graph
79
Find All Anagrams in a String
medium
·30 mins
·String
80
Minimum Height Trees
medium
·30 mins
·Graph
81
Task Scheduler
medium
·35 mins
·Heap
82
LRU Cache
medium
·30 mins
·Linked List
83
Kth Smallest Element in a BST
medium
·25 mins
·Binary Tree
84
Daily Temperatures
medium
·30 mins
·Stack
85
House Robber
medium
·25 mins
·Dynamic Programming
86
Gas Station
medium
·30 mins
·Array
87
Next Permutation
medium
·30 mins
·Recursion
88
Valid Sudoku
medium
·35 mins
·Matrix
89
Group Anagrams
medium
·25 mins
·String
90
Maximum Product Subarray
medium
·30 mins
·Dynamic Programming
91
Design Add and Search Words Data Structure
medium
·35 mins
·Trie
92
Pacific Atlantic Water Flow
medium
·30 mins
·Graph
93
Remove Nth Node From End of List
medium
·20 mins
·Linked List
94
Shortest Path to Get Food
medium
·30 mins
·Graph
95
Find the Duplicate Number
medium
·20 mins
·Binary
96
Top K Frequent Words
medium
·30 mins
·Heap
97
Longest Increasing Subsequence
medium
·30 mins
·Dynamic Programming
98
Graph Valid Tree
medium
·30 mins
·Graph
99
Course Schedule II
medium
·35 mins
·Graph
100
Swap Nodes in Pairs
medium
·25 mins
·Linked List
101
Path Sum II
medium
·25 mins
·Binary Tree
102
Longest Consecutive Sequence
medium
·30 mins
·Array
103
Rotate Array
medium
·25 mins
·Array
104
Odd Even Linked List
medium
·25 mins
·Linked List
105
Decode String
medium
·30 mins
·Stack
106
Contiguous Array
medium
·30 mins
·Array
107
Maximum Width of Binary Tree
medium
·20 mins
·Binary Tree
108
Find K Closest Elements
medium
·30 mins
·Heap
109
Longest Repeating Character Replacement
medium
·30 mins
·String
110
Inorder Successor in BST
medium
·30 mins
·Binary Search Tree
111
Jump Game
medium
·20 mins
·Dynamic Programming
112
Add Two Numbers
medium
·25 mins
·Linked List
113
Generate Parentheses
medium
·25 mins
·Recursion
114
Sort List
medium
·25 mins
·Linked List
115
Number of Connected Components in an Undirected Graph
medium
·30 mins
·Graph
116
Minimum Knight Moves
medium
·35 mins
·Graph
117
Subarray Sum Equals K
medium
·35 mins
·Array
118
Asteroid Collision
medium
·30 mins
·Stack
119
Random Pick with Weight
medium
·25 mins
·Math
120
Kth Largest Element in an Array
medium
·30 mins
·Heap
121
Maximal Square
medium
·30 mins
·Dynamic Programming
122
Rotate Image
medium
·25 mins
·Matrix
123
Binary Tree Zigzag Level Order Traversal
medium
·25 mins
·Binary Tree
124
Design Hit Counter
medium
·30 mins
·Queue
125
Path Sum III
medium
·35 mins
·Binary Tree
126
Pow(x, n)
medium
·20 mins
·Math
127
Search a 2D Matrix
medium
·30 mins
·Binary Search
128
Largest Number
medium
·20 mins
·String
129
Decode Ways
medium
·25 mins
·Dynamic Programming
130
Meeting Rooms II
medium
·30 mins
·Array
131
Reverse Integer
medium
·25 mins
·Math
132
Set Matrix Zeroes
medium
·25 mins
·Matrix
133
Reorder List
medium
·25 mins
·Linked List
134
Encode and Decode Strings
medium
·25 mins
·String
135
Cheapest Flights Within K Stops
medium
·45 mins
·Graph
136
All Nodes Distance K in Binary Tree
medium
·25 mins
·Binary Tree
137
3Sum Closest
medium
·30 mins
·Array
138
Rotate List
medium
·25 mins
·Linked List
139
Find Minimum in Rotated Sorted Array
medium
·30 mins
·Binary Search
140
Basic Calculator II
medium
·30 mins
·Stack
141
Combination Sum IV
medium
·35 mins
·Dynamic Programming
142
Insert Delete GetRandom O(1)
medium
·20 mins
·Hash Table
143
Non-overlapping Intervals
medium
·20 mins
·Array
144
Minimum Window Substring
hard
·30 mins
·String
145
Serialize and Deserialize Binary Tree
hard
·40 mins
·Binary Tree
146
Trapping Rain Water
hard
·35 mins
·Stack
147
Find Median from Data Stream
hard
·30 mins
·Heap
148
Word Ladder
hard
·45 mins
·Graph
149
Basic Calculator
hard
·40 mins
·Stack
150
Maximum Profit in Job Scheduling
hard
·45 mins
·Binary Search
151
Merge k Sorted Lists
hard
·30 mins
·Heap
152
Largest Rectangle in Histogram
hard
·35 mins
·Stack
153
Binary Tree Maximum Path Sum
hard
·35 mins
·Binary Tree
154
Maximum Frequency Stack
hard
·40 mins
·Stack
155
Median of Two Sorted Arrays
hard
·40 mins
·Binary Search
156
Longest Increasing Path in a Matrix
hard
·40 mins
·Graph
157
Longest Valid Parentheses
hard
·35 mins
·Stack
158
Design In-Memory File System
hard
·40 mins
·Trie
159
Employee Free Time
hard
·35 mins
·Array
160
Word Search II
hard
·40 mins
·Graph
161
Alien Dictionary
hard
·45 mins
·Graph
162
Bus Routes
hard
·45 mins
·Graph
163
Sliding Window Maximum
hard
·35 mins
·Array
164
Palindrome Pairs
hard
·40 mins
·String
165
Reverse Nodes in k-Group
hard
·35 mins
·Linked List
166
Sudoku Solver
hard
·40 mins
·Matrix
167
First Missing Positive
hard
·35 mins
·Hash Table
168
N-Queens
hard
·40 mins
·Recursion
169
Smallest Range Covering Elements from K Lists
hard
·40 mins
·Heap
170
Four Sum
medium
·40 mins
·Array
171
Count Reverse Pairs
hard
·40 mins
·Array
172
Find Peak Element
medium
·30 mins
·Binary Search
173
Koko Eating Bananas
medium
·30 mins
·Binary Search
174
Capacity To Ship Packages Within D Days
medium
·30 mins
·Binary Search
175
Split Array Largest Sum
hard
·40 mins
·Dynamic Programming
176
Copy List with Random Pointer
medium
·40 mins
·Linked List
177
Combination Sum III
medium
·30 mins
·Array
178
Rabbits in Forest
medium
·30 mins
·Math
179
Expression Add Operators
hard
·30 mins
·Math
180
Maximal Rectangle
hard
·30 mins
·Stack
181
LFU Cache
hard
·30 mins
·Linked List
182
Subarrays with K Different Integers
hard
·35 mins
·Array
183
Candy
hard
·40 mins
·Array
184
Construct Binary Tree from Inorder and Postorder Traversal
medium
·30 mins
·Binary Tree
185
Flatten Binary Tree to Linked List
medium
·25 mins
·Binary Tree
186
Binary Search Tree Iterator
medium
·30 mins
·Binary Search Tree
187
Recover Binary Search Tree
medium
·30 mins
·Binary Search Tree
188
Surrounded Regions
medium
·30 mins
·Matrix
189
Number of Enclaves
medium
·30 mins
·Matrix
190
Word Ladder II
hard
·40 mins
·Hash Table
191
City With the Smallest Number of Neighbors
medium
·40 mins
·Graph
192
Number of islands II
hard
·40 mins
·Graph
193
Making A Large Island
hard
·40 mins
·Graph
194
Swim in Rising Water
hard
·40 mins
·Graph
195
Assign Cookies
easy
·15 mins
·Dynamic Programming
196
Coin Change II
medium
·25 mins
·Dynamic Programming
197
Longest Common Subsequence
medium
·20 mins
·Dynamic Programming
198
Longest Palindromic Subsequence
medium
·20 mins
·Dynamic Programming
199
Minimum Insertion Steps to Make a String Palindrome
hard
·30 mins
·Dynamic Programming
200
Minimum Insertion Steps to Make a String Palindrome
medium
·25 mins
·Dynamic Programming
201
Shortest Common Supersequence
hard
·30 mins
·Dynamic Programming
202
Distinct Subsequences
hard
·30 mins
·Dynamic Programming
203
Edit Distance
medium
·20 mins
·Dynamic Programming
204
Best Time to Buy and Sell Stock II
medium
·25 mins
·Dynamic Programming
205
Best Time to Buy and Sell Stock III
hard
·30 mins
·Dynamic Programming
206
Best Time to Buy and Sell Stock IV
hard
·30 mins
·Dynamic Programming
207
Best Time to Buy and Sell Stock with Cooldown
medium
·30 mins
·Dynamic Programming
208
Best Time to Buy and Sell Stock with Transaction Fee
medium
·30 mins
·Dynamic Programming
209
Largest Divisible Subset
medium
·30 mins
·Dynamic Programming
210
Longest String Chain
medium
·35 mins
·Dynamic Programming
211
Number of Longest Increasing Subsequence
medium
·35 mins
·Dynamic Programming
212
Minimum Cost to Cut a Stick
hard
·40 mins
·Dynamic Programming
213
Burst Balloons
hard
·30 mins
·Dynamic Programming
214
Partition Array for Maximum Sum
medium
·20 mins
·Dynamic Programming
215
Count Square Submatrices with All Ones
medium
·20 mins
·Dynamic Programming
216
Maximum XOR With an Element From Array
hard
·30 mins
·Trie
217
Repeated String Match
medium
·20 mins
·String
218
Find the Index of the First Occurrence in a String
easy
·10 mins
·String
219
Shortest Palindrome
hard
·30 mins
·String
220
Longest Happy Prefix
hard
·30 mins
·String
221
Check if the Number is Armstrong
easy
·10 mins
·Math
222
Longest Happy Prefix
easy
·10 mins
·String
223
Fibonacci Number
easy
·5 mins
·Math
224
Frequency of the Most Frequent Element
easy
·10 mins
·Math
225
Check if Array Is Sorted and Rotated
easy
·10 mins
·Array
226
Remove Duplicates from Sorted Array
easy
·10 mins
·Array
227
Remove Duplicates from Sorted Array
easy
·10 mins
·Array
228
Max Consecutive Ones
easy
·10 mins
·Array
229
Search Insert Position
easy
·10 mins
·Binary Search
230
Find First and Last Position of Element in Sorted Array
easy
·10 mins
·Binary Search
231
Single Element in a Sorted Array
easy
·10 mins
·Binary Search
232
Find the Smallest Divisor Given a Threshold
medium
·15 mins
·Binary Search
233
Kth Missing Positive Number
easy
·10 mins
·Binary Search
234
Remove Outermost Parentheses
easy
·10 mins
·Stack
235
Reverse Words in a String
easy
·10 mins
·String
236
Largest Odd Number in String
easy
·10 mins
·String
237
Isomorphic Strings
easy
·10 mins
·String
238
Sort Characters By Frequency
medium
·20 mins
·String
239
Sort Characters By Frequency
easy
·10 mins
·Stack
240
Sort Characters By Frequency
easy
·10 mins
·Stack
241
Count Good Numbers
medium
·20 mins
·Recursion
242
Power of Two
easy
·5 mins
·Math
243
Next Greater Element I
easy
·10 mins
·Stack
244
Binary Subarrays With Sum
medium
·20 mins
·Array
245
Kth Largest Element in a Stream
easy
·10 mins
·Binary Tree
246
Lemonade Change
easy
·10 mins
·Array
247
Binary Tree Preorder Traversal
easy
·5 mins
·Binary Tree
248
Binary Tree Inorder Traversal
easy
·5 mins
·Binary Tree
249
Binary Tree Postorder Traversal
easy
·5 mins
·Binary Tree
250
Vertical Order Traversal of a Binary Tree
hard
·25 mins
·Binary Tree
251
Search in a Binary Search Tree
easy
·10 mins
·Binary Search Tree
252
Insert into a Binary Search Tree
medium
·20 mins
·Binary Search Tree
253
Rearrange Array Elements by Sign
medium
·20 mins
·Array
254
Pascal's Triangle
easy
·10 mins
·Array
255
Pascal's Triangle
easy
·10 mins
·Array
256
Majority Element II
medium
·20 mins
·Array
257
Merge Sorted Array
easy
·10 mins
·Array
258
Search in Rotated Sorted Array II
medium
·20 mins
·Array
259
Search a 2D Matrix II
medium
·20 mins
·Matrix
260
Rotate String
easy
·10 mins
·String
261
Sum of Beauty of All Substrings
medium
·20 mins
·String
262
Delete Node in a Linked List
medium
·20 mins
·Linked List
263
Linked List Cycle II
medium
·20 mins
·Linked List
264
Delete the Middle Node of a Linked List
medium
·20 mins
·Linked List
265
Delete the Middle Node of a Linked List
medium
·20 mins
·Linked List
266
Intersection of Two Linked Lists
easy
·10 mins
·Linked List
267
Combination Sum II
medium
·20 mins
·Array
268
Subsets II
medium
·20 mins
·Array
269
Palindrome Partitioning
medium
·20 mins
·String
270
Divide Two Integers
medium
·20 mins
·Math
271
Minimum Bit Flips to Convert Number
easy
·10 mins
·Math
272
Count Primes
medium
·20 mins
·Math
273
Top K Frequent Elements
medium
·20 mins
·Heap
274
Implement Stack using Queues
easy
·10 mins
·Stack
275
Online Stock Span
medium
·20 mins
·Stack
276
Count and Say
medium
·20 mins
·String
277
Compare Version Numbers
medium
·20 mins
·String
278
Boundary Traversal
medium
·20 mins
·Binary Tree
279
Populating Next Right Pointers in Each Node
medium
·20 mins
·Binary Search Tree
280
Construct Binary Search Tree from Preorder Traversal
medium
·20 mins
·Binary Search Tree
281
Two Sum IV - Input is a BST
easy
·10 mins
·Binary Search Tree
282
Maximum Sum BST in Binary Tree
hard
·40 mins
·Binary Search Tree
283
MIs Graph Bipartite?
medium
·20 mins
·Graph
284
Maximum XOR of Two Numbers in an Array
medium
·20 mins
·Trie
285
Sum of Two Integers
medium
·20 mins
·Math
286
Continuous Subarray Sum
medium
·15 mins
·Array
287
Minimize the Difference Between Target and Chosen Elements
medium
·20 mins
·Matrix
288
Reach End of Array With Max Score
medium
·20 mins
·Array
289
Minimum Number of Moves to Make Palindrome
hard
·30 mins
·String
290
House Robber II
medium
·20 mins
·Dynamic Programming
291
Find Duplicate Subtrees
medium
·20 mins
·Binary Tree
292
Kth Largest Sum in a Binary Tree
medium
·20 mins
·Binary Tree
293
Kth Ancestor of a Tree Node
hard
·30 mins
·Binary Tree
294
Palindromic Substrings
medium
·20 mins
·String
295
Reorganize String
medium
·20 mins
·Heap
296
Design Phone directory
hard
·30 mins
·Trie
297
Delete Node in a BST
medium
·20 mins
·Binary Search Tree
298
Snakes and Ladders
medium
·20 mins
·Graph
299
Maximum Length of Pair Chain
medium
·20 mins
·Dynamic Programming
300
Minimum Number of Refueling Stops
hard
·30 mins
·Heap
Questions Summary
We have selected these 300 problems. It should take around 123 hours for an average person to solve these problems.
difficulty
Questions grouped by difficulty
Easy: 77
Medium: 170
Hard: 53
topics
Questions grouped by topics
Array: 45
Stack: 21
Linked List: 21
String: 30
Binary Tree: 30
Binary Search: 16
Graph: 27
Binary Search Tree: 13
Hash Table: 4
Dynamic Programming: 36
Binary: 7
Math: 15
Heap: 11
Trie: 7
Recursion: 7
Matrix: 9
Queue: 1
