Skip to content
EF
Engineering
Foundry
Learn
Practice
Companies
Mock interviews
My Prep
Search
Checking account…
Home
Learn
Practice
My Prep
Menu
Loading Engineering Foundry…
DSA: Practice · Roadmap · Review
Question catalog
Search questions
Difficulty
All difficulties
Easy
Medium
Hard
Topic
All topics
Array (2237)
String (892)
Hash Table (831)
Math (702)
Dynamic Programming (676)
Sorting (534)
Greedy (481)
Depth-First Search (349)
Binary Search (347)
Database (310)
Bit Manipulation (290)
Matrix (283)
Prefix Sum (270)
Tree (270)
Two Pointers (261)
Breadth-First Search (260)
Heap (Priority Queue) (221)
Simulation (214)
Counting (212)
Graph Theory (189)
Binary Tree (181)
Stack (179)
Sliding Window (169)
Enumeration (159)
Design (134)
Backtracking (114)
Number Theory (102)
Union-Find (98)
Segment Tree (83)
Linked List (82)
Ordered Set (80)
Monotonic Stack (73)
Divide and Conquer (70)
Combinatorics (65)
Trie (61)
Queue (57)
Bitmask (56)
Recursion (51)
Binary Indexed Tree (47)
Geometry (46)
Hash Function (45)
Memoization (44)
Binary Search Tree (43)
Shortest Path (42)
Topological Sort (40)
String Matching (37)
Rolling Hash (33)
DP on Trees (31)
Game Theory (30)
Greatest Common Divisor (25)
Interactive (25)
Monotonic Queue (25)
Data Stream (24)
Euclidean Algorithm (24)
Brainteaser (21)
Directed Acyclic Graph (17)
Knapsack Problem (17)
Merge Sort (17)
Dijkstra's Algorithm (16)
Minimax (16)
Bracket Sequences (15)
Doubly-Linked List (15)
Prime Factorization (14)
Binary Lifting (12)
Longest Increasing Subsequence (12)
Randomized (12)
Zero-Sum Game (12)
Counting Sort (11)
Lowest Common Ancestor (11)
Sieve Theory (11)
Z Algorithm (11)
Bipartite Graph (10)
Fermat's Little Theorem (10)
Knuth–Morris–Pratt Algorithm (10)
Primality Test (10)
Concurrency (9)
Iterator (9)
Suffix Array (9)
0-1 Knapsack (8)
Polygons (8)
Quickselect (8)
Sweep Line (8)
Bidirectional Search (7)
Flow Network (7)
Least Common Multiple (7)
Prime Number Sieve (7)
Probability and Statistics (7)
Quicksort (7)
Boyer–Moore String-Search Algorithm (6)
Bucket Sort (6)
Floyd's Cycle Finding Algorithm (6)
Longest Common Subsequence (6)
Matching (Graph) (6)
Minimum Spanning Tree (6)
Sqrt Decomposition (6)
Treap (6)
A* Search (5)
Cartesian Tree (5)
Complete Knapsack (5)
Graph Coloring (5)
Heuristic Search (5)
Impartial Game (5)
Kosaraju's Algorithm (5)
Pigeonhole Principle (5)
Successive Shortest Path Algorithm (5)
Tarjan's SCC Algorithm (5)
Aho–Corasick Algorithm (4)
Boyer–Moore Majority Vote Algorithm (4)
Bubble Sort (4)
Hungarian Algorithm (4)
Meet in the Middle (4)
Minimum-Cost Flow (4)
Nim Game (4)
Reservoir Sampling (4)
Shell (4)
Sprague–Grundy Theorem (4)
Suffix Automaton (4)
Suffix Tree (4)
Algorithm X (3)
Borůvka's Algorithm (3)
Dinic's Algorithm (3)
Edmonds–Karp Algorithm (3)
Eulerian Circuit (3)
Eulerian Path (3)
Inclusion-Exclusion Principle (3)
Kruskal's Algorithm (3)
Linear Algebra (3)
Manacher (3)
MPM Algorithm (3)
Prim's Algorithm (3)
Push-Relabel Algorithm (3)
Radix Sort (3)
0-1 BFS (2)
Bellman–Ford Algorithm (2)
Bézout's Lemma (2)
Brute-Force Search (2)
Extended Euclidean Algorithm (2)
Floyd–Warshall Algorithm (2)
Hamiltonian Path (2)
Maximum Flow (2)
Maximum Matching (2)
Mixed Knapsack (2)
Multiple Knapsack (2)
Nearest Pair of Points (2)
Perfect Matching (2)
Range Minimum/Maximum Query (2)
Rejection Sampling (2)
Semi-Eulerian Graph (2)
Sort (2)
Strongly Connected Component (2)
Ternary Search (2)
Articulation Point (1)
Biconnected Component (1)
Bridge (Graph) (1)
Convex Hull (1)
Dancing Links (1)
Euler's Theorem (1)
Euler's Totient Function (1)
Eulerian Graph (1)
K Shortest Path (1)
K-D Tree (1)
Lexicographically Minimal String Rotation (1)
Li Chao Tree (1)
Lyndon Factorization (1)
Minimum Cut (1)
Minimum Enclosing Circle (1)
Newton's Method (1)
Palindromic Tree (1)
Persistent Data Structure (1)
Planar Graph (1)
Sparse Table (1)
Splay Tree (1)
Timsort (1)
Tournament Sort (1)
Triangulation (1)
Reset
4,051
questions
ID
Question
Difficulty
Topics
1
Two Sum
Easy
Array
Hash Table
2
Add Two Numbers
Medium
Linked List
Math
Recursion
3
Longest Substring Without Repeating Characters
Medium
Hash Table
String
Sliding Window
4
Median of Two Sorted Arrays
Hard
Array
Binary Search
Divide and Conquer
5
Longest Palindromic Substring
Medium
Two Pointers
String
Dynamic Programming
Manacher
6
Zigzag Conversion
Medium
String
7
Reverse Integer
Medium
Math
8
String to Integer (atoi)
Medium
String
9
Palindrome Number
Easy
Math
10
Regular Expression Matching
Hard
String
Dynamic Programming
Recursion
11
Container With Most Water
Medium
Array
Two Pointers
Greedy
12
Integer to Roman
Medium
Hash Table
Math
String
13
Roman to Integer
Easy
Hash Table
Math
String
14
Longest Common Prefix
Easy
Array
String
Trie
15
3Sum
Medium
Array
Two Pointers
Sorting
16
3Sum Closest
Medium
Array
Two Pointers
Sorting
17
Letter Combinations of a Phone Number
Medium
Hash Table
String
Backtracking
18
4Sum
Medium
Array
Two Pointers
Sorting
19
Remove Nth Node From End of List
Medium
Linked List
Two Pointers
20
Valid Parentheses
Easy
String
Stack
Bracket Sequences
21
Merge Two Sorted Lists
Easy
Linked List
Recursion
22
Generate Parentheses
Medium
String
Dynamic Programming
Backtracking
Bracket Sequences
23
Merge k Sorted Lists
Hard
Linked List
Divide and Conquer
Heap (Priority Queue)
Merge Sort
Tournament Sort
24
Swap Nodes in Pairs
Medium
Linked List
Recursion
25
Reverse Nodes in k-Group
Hard
Linked List
Recursion
26
Remove Duplicates from Sorted Array
Easy
Array
Two Pointers
27
Remove Element
Easy
Array
Two Pointers
28
Find the Index of the First Occurrence in a String
Easy
Two Pointers
String
String Matching
Z Algorithm
Knuth–Morris–Pratt Algorithm
Boyer–Moore String-Search Algorithm
29
Divide Two Integers
Medium
Math
Bit Manipulation
30
Substring with Concatenation of All Words
Hard
Hash Table
String
Sliding Window
31
Next Permutation
Medium
Array
Two Pointers
32
Longest Valid Parentheses
Hard
String
Dynamic Programming
Stack
Bracket Sequences
33
Search in Rotated Sorted Array
Medium
Array
Binary Search
34
Find First and Last Position of Element in Sorted Array
Medium
Array
Binary Search
35
Search Insert Position
Easy
Array
Binary Search
36
Valid Sudoku
Medium
Array
Hash Table
Matrix
37
Sudoku Solver
Hard
Array
Hash Table
Backtracking
Matrix
Algorithm X
Dancing Links
38
Count and Say
Medium
String
39
Combination Sum
Medium
Array
Backtracking
40
Combination Sum II
Medium
Array
Backtracking
41
First Missing Positive
Hard
Array
Hash Table
42
Trapping Rain Water
Hard
Array
Two Pointers
Dynamic Programming
Stack
Monotonic Stack
43
Multiply Strings
Medium
Math
String
Simulation
44
Wildcard Matching
Hard
String
Dynamic Programming
Greedy
Recursion
45
Jump Game II
Medium
Array
Dynamic Programming
Greedy
46
Permutations
Medium
Array
Backtracking
47
Permutations II
Medium
Array
Backtracking
Sorting
48
Rotate Image
Medium
Array
Math
Matrix
49
Group Anagrams
Medium
Array
Hash Table
String
Sorting
50
Pow(x, n)
Medium
Math
Recursion
Rows
25
50
100
Previous
1 of 82
Next