Coding Interview Problems by Pattern

333 coding interview problems organized by algorithm pattern, with step-by-step solution guides and recall training.

81 Easy 220 Medium 32 Hard
Hash Maps
40 problems·20 Easy·20 Medium
Contains Duplicate Membership Tracking
Easy
Contains Duplicate II Index Tracking for Duplicate Detection
Easy
Degree of an Array Frequency Counting with Index Tracking
Easy
Design HashMap Separate Chaining
Easy
Design HashSet Separate Chaining with Buckets
Easy
Find Common Characters in All Strings Frequency Intersection
Easy
Find the Difference Frequency Counting
Easy
First Unique Character in a String Frequency Counting
Easy
Happy Number Cycle Detection via Visited Set
Easy
Intersection of Two Arrays Set Membership for Intersection
Easy
Intersection of Two Arrays II Frequency Counting
Easy
Isomorphic Strings One-to-One Mapping Validation
Easy
Jewels and Stones Set Membership for Counting
Easy
Logger Rate Limiter Stateful Timestamp Tracking
Easy
Longest Harmonious Subsequence Frequency Counting and Complement Lookup
Easy
Number of Good Pairs Frequency Counting
Easy
Ransom Note Frequency Counting
Easy
Set Mismatch Boolean Array for Presence Tracking
Easy
Two Sum Complement Lookup
Easy
Valid Anagram Frequency Counting
Easy
4Sum II Complement Counting
Medium
Brick Wall Frequency Counting of Prefix Sums
Medium
Bulls and Cows Frequency Counting with Complement Matching
Medium
Contiguous Array Prefix Sum with First Occurrence Tracking
Medium
Continuous Subarray Sum Prefix Sum Remainder Tracking
Medium
Copy List with Random Pointer Node Mapping for Deep Copy
Medium
Count Number of Nice Subarrays Prefix Sum Frequency Counting
Medium
Design Underground System Stateful Aggregation
Medium
Detect Squares Frequency Counting with Coordinate Grouping
Medium
Equal Row and Column Pairs Frequency Counting with Tuple Keys
Medium
Group Anagrams Grouping by Canonical Key
Medium
Insert Delete GetRandom O(1) Index Mapping with Array
Medium
K-diff Pairs in an Array Frequency Counting and Complement Lookup
Medium
Longest Consecutive Sequence Set Membership for Sequence Detection
Medium
Minimum Consecutive Card Pickup Index Tracking for Duplicate Detection
Medium
Pairs of Songs With Total Durations Divisible by 60 Frequency Counting with Modular Arithmetic
Medium
Sort Characters By Frequency Frequency Counting and Sorting
Medium
Subarray Sum Equals K Prefix Sum Frequency Counting
Medium
Subdomain Visit Count Frequency Counting with String Manipulation
Medium
Valid Sudoku Set Tracking for Uniqueness
Medium
Two Pointers
31 problems·14 Easy·16 Medium·1 Hard
Backspace String Compare Greedy Backward Traversal
Easy
Is Subsequence Linear Scan for Subsequence
Easy
Linked List Cycle Detection Cycle Detection in Linked List
Easy
Long Pressed Name Greedy Validation
Easy
Merge Strings Alternately Two-Pointer Alternating Merge
Easy
Middle of the Linked List Tortoise and Hare
Easy
Move Zeroes Stable Partition
Easy
Palindrome Linked List Midpoint Detection and In-Place Reversal
Easy
Remove Duplicates from Sorted Array In-Place Array Modification
Easy
Remove Element In-Place Filtering
Easy
Squares of a Sorted Array Greedy Contraction
Easy
Two Sum II - Input Array Is Sorted Greedy Contraction
Easy
Valid Palindrome Symmetric Character Comparison with Filtering
Easy
Valid Palindrome II Greedy with Conditional Branching
Easy
3Sum Sorted Array Pair Search
Medium
3Sum Closest Sorted Array Pair Search
Medium
3Sum Smaller Sorted Array Pair Counting
Medium
4Sum Nested Loops with Two-Pointer Pair Search
Medium
Boats to Save People Greedy Pairing
Medium
Container With Most Water Greedy Contraction
Medium
Find the Duplicate Number Cycle Detection in Array as Linked List
Medium
Interval List Intersections Linear Merge of Sorted Intervals
Medium
Linked List Cycle II Cycle Detection and Entry Point Identification
Medium
Longest Palindromic Substring Expand Around Center
Medium
Palindromic Substrings Expand Around Center
Medium
Remove Duplicates from Sorted Array II In-Place Overwrite
Medium
Remove Nth Node From End of List Fixed Gap
Medium
Sort Colors Three-Way Partitioning / Dutch National Flag
Medium
String Compression In-Place Compression
Medium
Valid Triangles Count Sorted Array Pair Search
Medium
Trapping Rain Water Greedy Contraction
Hard
Sliding Window
24 problems·1 Easy·18 Medium·5 Hard
Maximum Average Subarray I Fixed-Size Window
Easy
Find All Anagrams in a String Fixed-Size Frequency Matching
Medium
Frequency of the Most Frequent Element Variable Size with Sum Tracking
Medium
Fruit Into Baskets Variable Size with Frequency Map
Medium
Get Equal Substrings Within Budget Variable Size Window with Sum Constraint
Medium
Grumpy Bookstore Owner Fixed-Size Window Sum Optimization
Medium
Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit Monotonic Queue Optimization
Medium
Longest Repeating Character Replacement Variable Size with Frequency Tracking
Medium
Longest Subarray of 1's After Deleting One Element Variable Size with Constraint
Medium
Longest Substring with At Most K Distinct Characters Variable Size with Frequency Map
Medium
Longest Substring Without Repeating Characters Dynamic Window Adjustment
Medium
Max Consecutive Ones III Variable Size with Constraint
Medium
Maximize the Confusion of an Exam Variable Size with Constraint
Medium
Maximum Erasure Value Dynamic Window with Set for Uniqueness
Medium
Maximum Number of Vowels in a Substring of Given Length Fixed-Size Window
Medium
Maximum Sum of Distinct Subarrays With Length K Fixed-Size with Distinctness Constraint
Medium
Minimum Size Subarray Sum Variable Size Window
Medium
Permutation in String Fixed-Size Frequency Matching
Medium
Subarray Product Less Than K Variable Size with Multiplicative Constraint
Medium
Minimum Window Substring Variable Size with Frequency Counting
Hard
Shortest Subarray with Sum at Least K Prefix Sums + Monotonic Deque
Hard
Sliding Window Maximum Monotonic Queue
Hard
Subarrays with K Different Integers Counting Subarrays with Constraints
Hard
Substring with Concatenation of All Words Fixed-Size Chunk Partitioning
Hard
Prefix Sum
6 problems·1 Easy·5 Medium
Binary Search
16 problems·5 Easy·9 Medium·2 Hard

Sorting

3 problems·1 Easy·2 Medium
Stacks
17 problems·4 Easy·10 Medium·3 Hard
Linked Lists
7 problems·2 Easy·4 Medium·1 Hard
DFS
41 problems·11 Easy·29 Medium·1 Hard
Balanced Binary Tree Post-Order Traversal with State Aggregation
Easy
Diameter of Binary Tree Post-Order Traversal with State Propagation
Easy
Find if Path Exists in Graph Graph Connectivity
Easy
Flood Fill Grid Connected Component Traversal
Easy
Invert Binary Tree Recursive Tree Traversal
Easy
Maximum Depth of Binary Tree Post-Order Traversal for Tree Depth
Easy
Minimum Absolute Difference in BST Inorder Traversal on BST
Easy
Path Sum in Binary Tree Recursive State Exploration on Trees
Easy
Range Sum of BST Pruned Search on BST
Easy
Same Tree Recursive Tree Traversal
Easy
Subtree of Another Tree Recursive Tree Traversal and Comparison
Easy
Accounts Merge Graph Connected Components
Medium
All Paths From Source to Target Stateful Exploration with Backtracking
Medium
Binary Search Tree Iterator Controlled Inorder Traversal with Stack
Medium
Binary Tree Longest Consecutive Sequence II Post-Order Traversal with State Propagation
Medium
Clone Graph Graph Cloning with Memoization
Medium
Construct Binary Tree from Preorder and Inorder Traversal Recursive Tree Construction
Medium
Count Good Nodes in Binary Tree Stateful Exploration
Medium
Course Schedule Cycle Detection in Directed Graph
Medium
Course Schedule II Cycle Detection and Topological Sort
Medium
Evaluate Division Graph Traversal with Accumulated State
Medium
Find Leaves of Binary Tree Post-Order Traversal with State Aggregation
Medium
Flatten Binary Tree to Linked List Preorder Traversal with Postprocessing
Medium
Graph Valid Tree Cycle Detection and Connectivity Check
Medium
House Robber III Stateful Exploration with Dual State Tracking
Medium
Keys and Rooms Graph Reachability
Medium
Kth Smallest Element in a BST Inorder Traversal with Early Termination
Medium
Lowest Common Ancestor of a Binary Tree Postorder Traversal for State Propagation
Medium
Max Area of Island Connected Components in Grid
Medium
Minimum Number of Edge Reversals to Reach City Zero Graph Traversal with Edge Direction Tracking
Medium
Minimum Score of a Path Between Two Cities Graph Connectivity and State Propagation
Medium
Number of Islands Connected Components in Grid
Medium
Number of Provinces Connected Components in Graph
Medium
Pacific Atlantic Water Flow Reverse Reachability in Grid
Medium
Path Sum III Prefix Sum with Backtracking
Medium
Serialize and Deserialize Binary Tree Preorder Traversal with State Preservation
Medium
Sum Root to Leaf Numbers Stateful Exploration
Medium
Surrounded Regions Boundary-Connected Region Marking
Medium
Validate Binary Search Tree Boundary-Constrained Validation
Medium
Word Search Stateful Exploration with Backtracking
Medium
Binary Tree Maximum Path Sum Post-Order Traversal with State Propagation
Hard
BFS
18 problems·14 Medium·4 Hard
Heaps
19 problems·1 Easy·14 Medium·4 Hard
Intervals
3 problems·3 Medium
Greedy
25 problems·5 Easy·18 Medium·2 Hard
Backtracking
12 problems·11 Medium·1 Hard
Dynamic Programming
33 problems·4 Easy·23 Medium·6 Hard
Climbing Stairs Top-Down Memoization
Easy
Counting Bits Bit Manipulation
Easy
Maximum Subarray Kadane's Algorithm
Easy
Min Cost Climbing Stairs Top-Down Memoization
Easy
Best Time to Buy and Sell Stock with Cooldown State Machine with Cooldown
Medium
Best Time to Buy and Sell Stock with Transaction Fee State Machine
Medium
Cheapest Flights Within K Stops Bellman-Ford Relaxation with Edge Constraints
Medium
Coin Change Top-Down Memoization
Medium
Coin Change 2 Top-Down Memoization for Combinatorial Counting
Medium
Decode Ways Top-Down Memoization
Medium
Delete and Earn House Robber Variant
Medium
Distinct Subsequences Top-Down Memoization for Counting Subsequences
Medium
House Robber Top-Down Memoization
Medium
House Robber II Linear Subproblem Decomposition
Medium
Interleaving String Top-Down Memoization for Sequence Interleaving
Medium
Length of Longest Fibonacci Subsequence Pair-State Tracking
Medium
Longest Common Subsequence Top-Down Memoization
Medium
Longest Increasing Subsequence Top-Down Memoization
Medium
Longest Palindromic Subsequence Top-Down Memoized Recursion
Medium
Maximum Product Subarray Tracking Dual States
Medium
Maximum Sum Circular Subarray Kadane's Algorithm with Circular Array Adaptation
Medium
Minimum Cost For Tickets Interval Coverage
Medium
Partition Equal Subset Sum Top-Down Memoized Subset Sum
Medium
Target Sum Top-Down Memoization
Medium
Unique Paths Top-Down Memoization
Medium
Unique Paths II Grid Path Counting with Obstacles
Medium
Word Break Top-Down Memoization
Medium
Best Time to Buy and Sell Stock IV State Machine
Hard
Burst Balloons Interval DP
Hard
Dungeon Game Grid Backward State Propagation
Hard
Edit Distance Top-Down Memoization for Sequence Alignment
Hard
Longest Increasing Path in a Matrix Top-Down Memoization with DFS
Hard
Regular Expression Matching Top-Down Memoization for Pattern Matching
Hard
Graphs
7 problems·1 Easy·5 Medium·1 Hard
Tries
5 problems·4 Medium·1 Hard

Matrix

4 problems·4 Medium

Bit Manipulation

4 problems·3 Easy·1 Medium

Math

6 problems·5 Easy·1 Medium

Simulation

11 problems·3 Easy·8 Medium

System Design

1 problems·1 Medium

Practice with active recall

Reading solutions is not enough. AlgoDrill blanks out key lines and makes you reconstruct them from memory.

Start drilling for free