Skip to content
⚡
CodePractise
Compiler
Tutorials
JobReady
DSA
Open Compiler
Compiler
Tutorials
JobReady
DSA
Open Compiler
DSA
Problem Sets
156 curated problems from Blind75 & NeetCode150. 3 approaches each.
34 Easy
105 Medium
17 Hard
All
Easy
Medium
Hard
Topic
All Topics
Array
BFS
BST
Backtracking
Binary Indexed Tree
Binary Search
Binary Search Tree
Binary Tree
Bit Manipulation
Breadth-First Search
Circular Array
DFS
DP
Data Stream
Depth-First Search
Design
Divide and Conquer
Dynamic Programming
Geometry
Graph
Greedy
Hash Function
Hash Table
Heap
Heap (Priority Queue)
Iterator
Linked List
Math
Matrix
Merge Sort
Monotonic Stack
OOP
Ordered Set
Prefix Sum
Queue
Recursion
Segment Tree
Shortest Path
Simulation
Sliding Window
Sort
Sorting
Stack
String
Topological Sort
Tree
Trie
Two Heaps
Two Pointers
Union Find
All
Blind75
NeetCode150
1
Two Sum
Array
Hash Table
Easy
Blind75
2
Contains Duplicate
Array
Hash Table
Easy
Blind75
3
Valid Anagram
String
Hash Table
Easy
Blind75
4
Group Anagrams
String
Hash Table
Medium
Blind75
5
Top K Frequent Elements
Array
Hash Table
Heap
Medium
Blind75
6
Product of Array Except Self
Array
Medium
Blind75
7
Encode and Decode Strings
String
Design
Medium
Blind75
8
Longest Consecutive Sequence
Array
Hash Table
Medium
Blind75
9
Sort Colors
Array
Two Pointers
Sort
Medium
Blind75
10
Valid Palindrome
String
Two Pointers
Easy
Blind75
11
Trapping Rain Water
Array
Two Pointers
Stack
DP
Hard
Blind75
12
Container With Most Water
Array
Two Pointers
Medium
Blind75
13
Best Time to Buy and Sell Stock
Array
DP
Easy
Blind75
14
Longest Substring Without Repeating Characters
String
Sliding Window
Medium
Blind75
15
Minimum Window Substring
String
Sliding Window
Hash Table
Hard
Blind75
16
Sliding Window Maximum
Array
Queue
Sliding Window
Heap
Hard
Blind75
17
Valid Parentheses
String
Stack
Easy
Blind75
18
Min Stack
Stack
Design
Medium
Blind75
19
Daily Temperatures
Array
Stack
Monotonic Stack
Medium
Blind75
20
Binary Search
Array
Binary Search
Easy
Blind75
21
Search a 2D Matrix
Array
Binary Search
Medium
Blind75
22
Find Minimum in Rotated Sorted Array
Array
Binary Search
Medium
Blind75
23
Reverse Linked List
Linked List
Easy
Blind75
24
Merge Two Sorted Lists
Linked List
Easy
Blind75
25
Linked List Cycle
Linked List
Two Pointers
Easy
Blind75
26
Reorder List
Linked List
Two Pointers
Stack
Medium
Blind75
27
Remove Nth Node From End of List
Linked List
Two Pointers
Medium
Blind75
28
LRU Cache
Hash Table
Linked List
Design
Medium
Blind75
29
Invert Binary Tree
Tree
DFS
BFS
Easy
Blind75
30
Maximum Depth of Binary Tree
Tree
DFS
BFS
Easy
Blind75
31
Same Tree
Tree
DFS
BFS
Easy
Blind75
32
Subtree of Another Tree
Tree
DFS
Easy
Blind75
33
Binary Tree Level Order Traversal
Tree
BFS
Medium
Blind75
34
Validate Binary Search Tree
Tree
DFS
BST
Medium
Blind75
35
Lowest Common Ancestor of a Binary Search Tree
Tree
DFS
BST
Medium
Blind75
36
Binary Tree Maximum Path Sum
Tree
DFS
Hard
Blind75
37
Serialize and Deserialize Binary Tree
Tree
BFS
Design
Hard
Blind75
38
Implement Trie (Prefix Tree)
String
Trie
Design
Medium
Blind75
39
Design Add and Search Words Data Structure
String
Trie
DFS
Design
Medium
Blind75
40
Kth Largest Element in an Array
Array
Heap
Divide and Conquer
Medium
Blind75
41
Find Median from Data Stream
Two Heaps
Design
Sort
Hard
Blind75
42
Subsets
Array
Backtracking
Medium
Blind75
43
Combination Sum
Array
Backtracking
Medium
Blind75
44
Permutations
Array
Backtracking
Medium
Blind75
45
Number of Islands
Matrix
DFS
BFS
Union Find
Medium
Blind75
46
Clone Graph
Graph
DFS
BFS
Hash Table
Medium
Blind75
47
Pacific Atlantic Water Flow
Matrix
DFS
BFS
Medium
Blind75
48
Course Schedule
Graph
Topological Sort
BFS
DFS
Medium
Blind75
49
Graph Valid Tree
Graph
DFS
BFS
Union Find
Medium
Blind75
50
Number of Connected Components in an Undirected Graph
Graph
DFS
BFS
Union Find
Medium
Blind75
51
Redundant Connection
Graph
Union Find
Medium
Blind75
52
Word Ladder
String
BFS
Hash Table
Hard
Blind75
53
Alien Dictionary
Graph
Topological Sort
Hard
Blind75
54
Climbing Stairs
DP
Math
Easy
Blind75
55
Coin Change
Array
DP
Medium
Blind75
56
Maximum Product Subarray
Array
DP
Medium
Blind75
57
Word Break
String
DP
Hash Table
Medium
Blind75
58
Longest Increasing Subsequence
Array
DP
Binary Search
Medium
Blind75
59
House Robber
Array
DP
Medium
Blind75
60
Unique Paths
Math
DP
Medium
Blind75
61
Longest Common Subsequence
String
DP
Medium
Blind75
62
Best Time to Buy and Sell Stock with Cooldown
Array
DP
Medium
Blind75
63
Target Sum
Array
DP
Medium
Blind75
64
Coin Change 2
Array
DP
Medium
Blind75
65
Jump Game
Array
DP
Greedy
Medium
Blind75
66
Jump Game II
Array
DP
Greedy
Medium
Blind75
67
Single Number
Array
Bit Manipulation
Easy
Blind75
68
Number of 1 Bits
Bit Manipulation
Easy
Blind75
69
Counting Bits
DP
Bit Manipulation
Easy
Blind75
70
Reverse Bits
Bit Manipulation
Easy
Blind75
71
Rotate Image
Matrix
Math
Medium
Blind75
72
Spiral Matrix
Matrix
Simulation
Medium
Blind75
73
Set Matrix Zeroes
Matrix
Hash Table
Medium
Blind75
74
Merge Intervals
Array
Sort
Medium
Blind75
75
Non-overlapping Intervals
Array
DP
Greedy
Medium
Blind75
76
Meeting Rooms II
Array
Sort
Heap
Greedy
Medium
Blind75
77
Valid Sudoku
Array
Hash Table
Matrix
Medium
NeetCode150
78
3Sum
Array
Two Pointers
Sorting
Medium
NeetCode150
79
Remove Element
Array
Two Pointers
Easy
NeetCode150
80
Longest Repeating Character Replacement
Hash Table
String
Sliding Window
Medium
NeetCode150
81
Permutation in String
Hash Table
Two Pointers
String
Sliding Window
Medium
NeetCode150
82
Evaluate Reverse Polish Notation
Array
Stack
Math
Medium
NeetCode150
83
Car Fleet
Array
Stack
Sorting
Greedy
Medium
NeetCode150
84
Koko Eating Bananas
Array
Binary Search
Medium
NeetCode150
85
Search in Rotated Sorted Array
Array
Binary Search
Medium
NeetCode150
86
Copy List with Random Pointer
Hash Table
Linked List
Medium
NeetCode150
87
Kth Smallest Element in a BST
Tree
Depth-First Search
Binary Search Tree
Binary Tree
Medium
NeetCode150
88
Construct Binary Tree from Preorder and Inorder Traversal
Array
Hash Table
Divide and Conquer
Tree
Binary Tree
Medium
NeetCode150
89
Binary Tree Right Side View
Tree
Depth-First Search
Breadth-First Search
Binary Tree
Medium
NeetCode150
90
Lowest Common Ancestor of a Binary Tree
Tree
Depth-First Search
Binary Tree
Medium
NeetCode150
91
Kth Largest Element in a Stream
Tree
Design
Binary Search Tree
Heap (Priority Queue)
Binary Search Tree
Easy
NeetCode150
92
Last Stone Weight
Array
Heap (Priority Queue)
Easy
NeetCode150
93
K Closest Points to Origin
Array
Math
Divide and Conquer
Sorting
Heap (Priority Queue)
Geometry
Medium
NeetCode150
94
Word Search
Array
Backtracking
Matrix
Medium
NeetCode150
95
Palindrome Partitioning
String
Backtracking
Medium
NeetCode150
96
N-Queens
Array
Backtracking
Hard
NeetCode150
97
Max Area of Island
Array
Depth-First Search
Breadth-First Search
Matrix
Medium
NeetCode150
98
Rotting Oranges
Array
Breadth-First Search
Matrix
Medium
NeetCode150
99
Surrounded Regions
Depth-First Search
Breadth-First Search
Union Find
Matrix
Medium
NeetCode150
100
Longest Increasing Path in a Matrix
Depth-First Search
Breadth-First Search
Graph
Topological Sort
Dynamic Programming
Matrix
Hard
NeetCode150
101
Network Delay Time
Depth-First Search
Breadth-First Search
Graph
Heap (Priority Queue)
Shortest Path
Medium
NeetCode150
102
Swim in Rising Water
Array
Depth-First Search
Breadth-First Search
Binary Search
Heap (Priority Queue)
Matrix
Union Find
Hard
NeetCode150
103
House Robber II
Array
Dynamic Programming
Medium
NeetCode150
104
Decode Ways
String
Dynamic Programming
Medium
NeetCode150
105
Maximum Subarray
Array
Divide and Conquer
Dynamic Programming
Medium
NeetCode150
106
Partition Equal Subset Sum
Array
Dynamic Programming
Medium
NeetCode150
107
Unique Paths II
Array
Dynamic Programming
Matrix
Medium
NeetCode150
108
Minimum Path Sum
Array
Dynamic Programming
Matrix
Medium
NeetCode150
109
Coin Change II
Array
Dynamic Programming
Medium
NeetCode150
110
Interleaving String
String
Dynamic Programming
Medium
NeetCode150
111
Longest Increasing Path in a Matrix
Depth-First Search
Dynamic Programming
Matrix
Hard
NeetCode150
112
Gas Station
Array
Greedy
Medium
NeetCode150
113
Valid Parenthesis String
String
Dynamic Programming
Greedy
Medium
NeetCode150
114
Insert Interval
Array
Medium
NeetCode150
115
Meeting Rooms
Array
Sorting
Greedy
Easy
NeetCode150
116
Minimum Size Subarray Sum
Array
Binary Search
Sliding Window
Prefix Sum
Medium
NeetCode150
117
Generate Parentheses
String
Dynamic Programming
Backtracking
Medium
NeetCode150
118
Largest Rectangle in Histogram
Array
Stack
Monotonic Stack
Hard
NeetCode150
119
Subarray Sum Equals K
Array
Hash Table
Prefix Sum
Medium
NeetCode150
120
Binary Tree Zigzag Level Order Traversal
Tree
Breadth-First Search
Binary Tree
Medium
NeetCode150
121
Missing Number
Array
Hash Table
Math
Bit Manipulation
Easy
NeetCode150
122
Kth Missing Positive Number
Array
Binary Search
Easy
NeetCode150
123
Next Permutation
Array
Two Pointers
Medium
NeetCode150
124
Diameter of Binary Tree
Tree
Depth-First Search
Binary Tree
Easy
NeetCode150
125
Minimum Absolute Difference in BST
Tree
Depth-First Search
Binary Search Tree
Binary Tree
Easy
NeetCode150
126
Range Sum of BST
Tree
Depth-First Search
Binary Search Tree
Binary Tree
Easy
NeetCode150
127
Flatten Binary Tree to Linked List
Linked List
Stack
Tree
Depth-First Search
Binary Tree
Medium
NeetCode150
128
Next Greater Element I
Array
Hash Table
Stack
Monotonic Stack
Easy
NeetCode150
129
Next Greater Element II
Array
Stack
Monotonic Stack
Circular Array
Medium
NeetCode150
130
Decode String
Stack
Recursion
String
Medium
NeetCode150
131
Sum Root to Leaf Numbers
Tree
Depth-First Search
Binary Tree
Medium
NeetCode150
132
Binary Search Tree Iterator
Stack
Tree
Design
Binary Search Tree
Binary Tree
Medium
NeetCode150
133
Asteroid Collision
Array
Stack
Simulation
Medium
NeetCode150
134
Longest Continuous Increasing Subsequence
Array
Easy
NeetCode150
135
Design Hashmap
Array
Hash Table
Design
Linked List
Hash Function
Easy
NeetCode150
136
Design Hashset
Array
Hash Table
Design
Linked List
Hash Function
Easy
NeetCode150
137
Find All Anagrams in a String
Hash Table
String
Sliding Window
Medium
NeetCode150
138
Populating Next Right Pointers in Each Node
Linked List
Tree
Depth-First Search
Breadth-First Search
Binary Tree
Medium
NeetCode150
139
Accounts Merge
Depth-First Search
Breadth-First Search
Union Find
Graph
Medium
NeetCode150
140
Maximum Frequency Stack
Hash Table
Stack
Design
Heap (Priority Queue)
Hard
NeetCode150
141
Online Stock Span
Stack
Design
Monotonic Stack
Data Stream
Medium
NeetCode150
142
Count of Smaller Numbers After Self
Array
Binary Search
Divide and Conquer
Segment Tree
Binary Indexed Tree
Merge Sort
Ordered Set
Hard
NeetCode150
143
Basic Calculator
Stack
Recursion
Math
String
Hard
NeetCode150
144
Expression Add Operators
Math
String
Backtracking
Hard
NeetCode150
145
Reorganize String
Hash Table
Greedy
Heap (Priority Queue)
String
Medium
NeetCode150
146
Minimum Number of Arrows to Burst Balloons
Array
Greedy
Sorting
Medium
NeetCode150
147
Minimum Cost to Connect Sticks
Array
Greedy
Heap (Priority Queue)
Medium
NeetCode150
148
Next Greater Element III
Math
Two Pointers
String
Medium
NeetCode150
149
Reverse Words in a String
Two Pointers
String
Medium
NeetCode150
150
Binary Tree Paths
String
Tree
Depth-First Search
Binary Tree
Easy
NeetCode150
151
Design Twitter
Hash Table
Design
Heap (Priority Queue)
OOP
Medium
NeetCode150
152
Time-Based Key-Value Store
Hash Table
Binary Search
Design
Data Stream
Medium
NeetCode150
153
Sum of Two Integers
Math
Bit Manipulation
Medium
NeetCode150
154
Implement Stack using Queues
Stack
Design
Queue
Easy
NeetCode150
155
Flatten Nested List Iterator
Stack
Design
Iterator
Medium
NeetCode150
156
Search a 2D Matrix II
Array
Binary Search
Matrix
Divide and Conquer
Medium
NeetCode150