Skip to main content

Data Structures & Algorithms

DSA Roadmap: The Complete Data Structures & Algorithms Learning Path

From fundamentals to advanced patterns. Work through each phase in order for the best results.

321 problems across 21 patterns 0 / 321 completed
1

Hash Map / Set

Trade space for time using O(1) lookup to find pairs, duplicates, and frequencies.

6 Easy 6 Medium
Problem Difficulty Solution Link
Contains Duplicate
#Array #Hash Table #Sorting
Easy Solution
Isomorphic Strings
#Hash Table #String
Easy Solution
Number of Good Pairs
#Array #Hash Table #Math
Easy Solution
Two Sum
#Array #Hash Map
Easy Solution
Valid Anagram
#String #Hash Map #Sorting
Easy Solution
Word Pattern
#Hash Table #String
Easy Solution
4Sum II
#Array #Hash Table
Medium Solution
Group Anagrams
#String #Hash Map #Sorting
Medium Solution
Longest Consecutive Sequence
#Array #Hash Set
Medium Solution
LRU Cache
#Hash Table #Linked List #Design
Medium Solution
Subarray Sum Divisible by K
#Array #Hash Table #Prefix Sum
Medium Solution
Top K Frequent Elements
#Array #Hash Map #Heap
Medium Solution
2

Two Pointers

Use two indices moving toward each other or in the same direction to solve linear problems.

7 Easy 43 Medium 1 Hard
Problem Difficulty Solution Link
Majority Element
#Array
Easy Solution
Majority Element II
#Array
Easy Solution
Move Zeroes
#Array #Two Pointers
Easy Solution
Remove Duplicates from Sorted Array
#Array #Two Pointers
Easy Solution
Squares of a Sorted Array
#Array #Two Pointers #Sorting
Easy Solution
Valid Palindrome
#String #Two Pointers
Easy Solution
Valid Palindrome II
#String #Greedy #Two Pointers
Easy Solution
3Sum
#Array #Two Pointers #Sorting
Medium Solution
3Sum Closest
#Array
Medium Solution
4Sum
#Array #Sorting #Two Pointers
Medium Solution
Assign Cookies
#Array
Medium Solution
Best Time to Buy and Sell the Stocks - 2
#Array
Medium Solution
Boats to Save People
#Array #Two Pointers #Greedy
Medium Solution
Container With Most Water
#Array #Two Pointers #Greedy
Medium Solution
Count Inversions
#Array
Medium Solution
Count Numbers with Unique Digits
#Array
Medium Solution
Count Primes
#Array
Medium Solution
Distribute Candies
#Array
Medium Solution
Encode and Decode Strings Premium
#Array #String #Design
Medium Solution
Excel Sheet Column Number
#Array
Medium Solution
Excel Sheet Column Title
#Array
Medium Solution
Find N Unique Integers Sum up to Zero
#Array
Medium Solution
Find the Duplicate Number
#Array
Medium Solution
First Missing Positive
#Array
Medium Solution
Hamming Distance
#Array
Medium Solution
Happy Number
#Array
Medium Solution
Insert Delete GetRandom in O
#Array
Medium Solution
Intersection of two Arrays
#Array
Medium Solution
Max sum path in two arrays
#Array
Medium Solution
Maximum Sum Rectangle
#Array
Medium Solution
Merge Sort
#Array
Medium Solution
Minimum Length of String After Deleting Similar Ends
#String #Two Pointers
Medium Solution
Minimum Number of Moves to Make Palindrome
#String
Medium Solution
Minimum Platforms
#Array
Medium Solution
Next Greater Element III
#Array
Medium Solution
Pairs of Songs With Total Durations Divisible by 60
#Array
Medium Solution
Pascals Triangle
#Array
Medium Solution
Power of Three
#Array
Medium Solution
Rectangle Overlap
#Array
Medium Solution
Repeat and Missing Number Array
#Array
Medium Solution
Reverse words in a given string
#String
Medium Solution
Reverse Words in a String
#String
Medium Solution
Rotate Array
#Array
Medium Solution
Segregate Even and Odd numbers
#Array
Medium Solution
Shuffle an Array
#Array
Medium Solution
Sign of the Product of an Array
#Array
Medium Solution
Sort Colors
#Array #Sorting #Two Pointers
Medium Solution
Subarray with 0 sum exist
#Array
Medium Solution
Transpose Matrix
#Array
Medium Solution
Two Sum II - Input Array Is Sorted
#Array #Two Pointers #Binary Search
Medium Solution
Trapping Rain Water
#Array #Two Pointers #Stack
Hard Solution
3

Sliding Window

Efficiently process subarrays or substrings of a fixed or variable size.

25 Medium 2 Hard
Problem Difficulty Solution Link
Consecutive 1's not allowed
#String
Medium Solution
Count Number of Nice Subarrays
#Array #Hash Table #Math
Medium Solution
Find All Anagrams in a String
#String #Hash Map #Sliding Window
Medium Solution
Find the Index of the First Occurrence in a String
#String
Medium Solution
First Unique Character in a String
#String
Medium Solution
Frequency of the Most Frequent Element
#Array #Binary Search #Greedy
Medium Solution
Fruit Into Baskets
#Array #Sliding Window #Hash Map
Medium Solution
Integer to Roman
#String
Medium Solution
Largest Alphabetic Character present in the String
#String
Medium Solution
Length of Last Word
#String
Medium Solution
Longest Common Prefix
#String
Medium Solution
Longest Repeating Character Replacement
#String #Sliding Window
Medium Solution
Longest Subarray of 1's After Deleting One Element
#Array #Dynamic Programming #Sliding Window
Medium Solution
Longest Substring Without Repeating Characters
#String #Hash Map #Sliding Window
Medium Solution
Max Consecutive Ones III
#Array #Sliding Window #Binary
Medium Solution
Maximum Number of Vowels in a Substring of Given Length
#String #Sliding Window
Medium Solution
Minimum changes to make alternating binary string
#String
Medium Solution
Minimum Operations to Reduce X to Zero
#Array #Hash Table #Binary Search
Medium Solution
Minimum Size Subarray Sum
#Array #Sliding Window #Binary Search
Medium Solution
Permutation in String
#String #Hash Map #Sliding Window
Medium Solution
Roman to Integer
#String
Medium Solution
Run Length Encoding
#String
Medium Solution
String to Integer
#String
Medium Solution
Subarray Product Less Than K
#Array #Sliding Window
Medium Solution
Valid Tic Toe State
#String
Medium Solution
Minimum Window Substring
#String #Hash Map #Sliding Window
Hard Solution
Sliding Window Maximum
#Array #Deque #Sliding Window
Hard Solution
4

Stack

LIFO structure for matching brackets, evaluating expressions, and monotonic problems.

2 Easy 20 Medium
Problem Difficulty Solution Link
Minimum invalid parentheses to remove to make valid parentheses
#Stack
Easy Solution
Valid Parentheses
#String #Stack
Easy Solution
Asteroid Collision
#Array #Stack #Simulation
Medium Solution
Basic Calculator II
#Math #String #Stack
Medium Solution
Car Fleet
#Array #Stack #Sorting
Medium Solution
Daily Temperatures
#Array #Stack #Monotonic Stack
Medium Solution
Decode String
#String #Stack #Recursion
Medium Solution
Evaluate Reverse Polish Notation
#Array #Math #Stack
Medium Solution
Implement Queue using Stack
#Stack
Medium Solution
Implement Stack using Queues
#Stack
Medium Solution
Maximum Area Rectangle in Binary Matrix
#Stack
Medium Solution
Min Stack
#Stack #Design
Medium Solution
Minimum Add to Make Parentheses Valid
#Stack
Medium Solution
Minimum Element in Stack in O
#Stack
Medium Solution
Minimum Element in Stack with Extra Space
#Stack
Medium Solution
Next Largest Element to Left
#Stack
Medium Solution
Next Largest Element to Right
#Stack
Medium Solution
Next Smallest Element to Left
#Stack
Medium Solution
Next Smallest Element to Right
#Stack
Medium Solution
Remove All Occurrences of a Substring
#Stack
Medium Solution
Remove K Digits
#String #Stack #Greedy
Medium Solution
Simplify Path
#String #Stack
Medium Solution
5

Binary Search

Halve the search space each step to find an element or boundary in O(log n).

1 Easy 31 Medium 2 Hard
Problem Difficulty Solution Link
Binary Search
#Array #Binary Search
Easy Solution
Binary Search on Sorted Array
#Binary Search
Medium Solution
Capacity to Ship Packages Within D Days
#Array #Binary Search
Medium Solution
Common Elements from 3 Sorted Arrays
#Array
Medium Solution
Count the number of occurrences of the element in a sorted array.
#Binary Search
Medium Solution
Find Ciel of an Element in a Sorted Array
#Binary Search
Medium Solution
Find Floor of an Element in a Sorted Array
#Binary Search
Medium Solution
Find Maximum element in Bitonic Array
#Binary Search
Medium Solution
Find Minimum in Rotated Sorted Array
#Array #Binary Search
Medium Solution
Find Peak Element
#Array #Binary Search
Medium Solution
Find the First and Last Occurrence of the Element in the Sorted Array
#Binary Search
Medium Solution
Find the position of an element in an infinite sorted array.
#Binary Search
Medium Solution
First Bad Version
#Binary Search
Medium Solution
Index of the first 1 in a Infinite Binary Sorted Array
#Binary Search
Medium Solution
Koko Eating Bananas
#Array #Binary Search
Medium Solution
Magic Index
#Array
Medium Solution
Merge sorted arrays
#Array
Medium Solution
Minimum Difference Element in a Sorted Array
#Binary Search
Medium Solution
Next Alphabetical Element in Sorted Array of Characters
#Binary Search
Medium Solution
Next Greatest Element in Sorted Array
#Binary Search
Medium Solution
Next Smallest Element in Sorted Array
#Binary Search
Medium Solution
Pow(x, n)
#Binary Search
Medium Solution
Row with Maximum number of 1's
#Binary Search
Medium Solution
Search a 2D Matrix
#Array #Binary Search #Matrix
Medium Solution
Search an Element in Bitonic Array
#Binary Search
Medium Solution
Search in a Nearly Sorted Array
#Binary Search
Medium Solution
Search in Rotated Sorted Array
#Array #Binary Search
Medium Solution
Search in Rotated Sorted Array II
#Binary Search
Medium Solution
Search Insert Position
#Binary Search
Medium Solution
Single Element in a Sorted Array
#Binary Search
Medium Solution
Smallest Missing Number in sorted array
#Binary Search
Medium Solution
Time Based Key-Value Store
#Hash Map #Binary Search #Design
Medium Solution
Median of Two Sorted Arrays
#Array #Binary Search #Divide and Conquer
Hard Solution
Split Array Largest Sum
#Array #Binary Search #Dynamic Programming
Hard Solution
6

Prefix Sum

Precompute cumulative sums to answer range queries in O(1).

3 Easy 6 Medium
Problem Difficulty Solution Link
Find Pivot Index
#Array #Prefix Sum
Easy Solution
Range Sum Query - Immutable
#Array #Design #Prefix Sum
Easy Solution
Running Sum of 1D Array
#Array #Prefix Sum
Easy Solution
Contiguous Array
#Array #Hash Map #Prefix Sum
Medium Solution
Max Chunks To Make Sorted
#Array
Medium Solution
Max Chunks To Make Sorted II
#Array
Medium Solution
Minimum Average Difference
#Array #Prefix Sum
Medium Solution
Product of Array Except Self
#Array #Prefix Product
Medium Solution
Subarray Sum Equals K
#Array #Hash Map #Prefix Sum
Medium Solution
7

Linked List

Pointer manipulation for in-place list operations without extra memory.

7 Easy 16 Medium 1 Hard
Problem Difficulty Solution Link
Linked List Cycle
#Linked List #Two Pointers #Hash Table
Easy Solution
Merge Two Sorted Lists
#Linked List #Recursion
Easy Solution
Middle of the Linked List
#Linked List
Easy Solution
Palindrome Linked List
#Linked List #Two Pointers #Stack
Easy Solution
Remove Duplicates from Sorted List
#Linked List
Easy Solution
Remove Duplicates from Sorted List - II
#Linked List
Easy Solution
Reverse Linked List
#Linked List #Recursion
Easy Solution
Add Two Numbers
#Linked List #Math #Recursion
Medium Solution
Add Two Numbers II
#Linked List
Medium Solution
Add Two Numbers Represented in Linked List
#Linked List
Medium Solution
Convert Binary Number in a Linked List to Integer
#Linked List
Medium Solution
Copy List with Random Pointer
#Hash Table #Linked List
Medium Solution
Find the intersection of two linked lists
#Linked List
Medium Solution
Linked List Cycle II
#Linked List
Medium Solution
Odd Even Linked List
#Linked List
Medium Solution
Partition List
#Linked List
Medium Solution
Remove Nth Node From End of List
#Linked List #Two Pointers
Medium Solution
Reorder List
#Linked List #Two Pointers #Stack
Medium Solution
Reverse a Linked List in groups of given size k
#Linked List
Medium Solution
Reverse Linked List II
#Linked List
Medium Solution
Rotate List
#Linked List #Two Pointers
Medium Solution
Sort List
#Linked List
Medium Solution
Swap Nodes in Pairs
#Linked List #Recursion
Medium Solution
Reverse Nodes in k-Group
#Linked List #Recursion
Hard Solution
8

Trees / DFS

Recursive and iterative depth-first traversal for tree structure problems.

6 Easy 10 Medium 2 Hard
Problem Difficulty Solution Link
Diameter of Binary Tree
#Tree #DFS #Binary Tree
Easy Solution
Invert Binary Tree
#Tree #DFS #BFS
Easy Solution
Maximum Depth of Binary Tree
#Tree #DFS #BFS
Easy Solution
Same Tree
#Tree #Depth-First Search #Breadth-First Search
Easy Solution
Subtree of Another Tree
#Tree #Depth-First Search #String Matching
Easy Solution
Symmetric Tree
#Tree #DFS #BFS
Easy Solution
Binary Tree Right Side View
#Tree #DFS #BFS
Medium Solution
Construct Binary Tree from Preorder and Inorder Traversal
#Array #Hash Table #Divide and Conquer
Medium Solution
Count Good Nodes in Binary Tree
#Tree #DFS #BFS
Medium Solution
Flatten Binary Tree to Linked List
#Linked List #Stack #Tree
Medium Solution
Kth Smallest Element in a BST
#Tree #DFS #BST
Medium Solution
Lowest Common Ancestor of a BST
#Tree #DFS #BST
Medium Solution
Path Sum II
#Backtracking #Tree #DFS
Medium Solution
Populating Next Right Pointers in Each Node
#Linked List #Tree #DFS
Medium Solution
Sum Root to Leaf Numbers
#Tree #DFS #BFS
Medium Solution
Validate Binary Search Tree
#Tree #DFS #BST
Medium Solution
Binary Tree Maximum Path Sum
#Tree #DFS #DP
Hard Solution
Serialize and Deserialize Binary Tree
#Tree #DFS #BFS
Hard Solution
9

Queue / BFS

Level-by-level traversal for shortest paths and layer-based problems.

9 Medium 1 Hard
Problem Difficulty Solution Link
01 Matrix
#Array #BFS #Matrix
Medium Solution
Binary Tree Level Order Traversal
#Tree #BFS
Medium Solution
Jump Game III
#Array #DFS #BFS
Medium Solution
Minimum Genetic Mutation
#Hash Table #String #BFS
Medium Solution
Number of Islands
#Array #DFS #BFS
Medium Solution
Open the Lock
#Array #Hash Table #BFS
Medium Solution
Rotting Oranges
#Array #BFS #Matrix
Medium Solution
Shortest Path in Binary Matrix
#Array #BFS #Matrix
Medium Solution
Walls and Gates Premium
#Array #BFS #Matrix
Medium Solution
Word Ladder
#Hash Set #BFS #String
Hard Solution
10

Heap / Priority Queue

Efficiently track the k-th largest/smallest element or merge sorted sequences.

12 Medium 2 Hard
Problem Difficulty Solution Link
Connect Ropes to Minimize the Cost
#Heap #Priority Queue
Medium Solution
Find K Closest Elements
#Heap #Priority Queue
Medium Solution
Find K Pairs with Smallest Sums
#Array #Heap
Medium Solution
K Closest Points to Origin
#Array #Math #Divide and Conquer
Medium Solution
Kth Largest Element in a Stream
#Heap #Priority Queue
Medium Solution
Kth Largest Element in an Array
#Array #Heap #Sorting
Medium Solution
Minimum Cost to Connect Sticks Premium
#Array #Greedy #Heap
Medium Solution
Reorganize String
#Hash Table #String #Greedy
Medium Solution
Sort an Almost Sorted Array
#Heap #Priority Queue
Medium Solution
Task Scheduler
#Array #Heap #Greedy
Medium Solution
The sum of Elements between k1 smallest and k2 smallest numbers
#Heap #Priority Queue
Medium Solution
Top K Frequent Words
#Hash Table #String #Trie
Medium Solution
Find Median from Data Stream
#Two Heaps #Design #Sorting
Hard Solution
Merge K Sorted Lists
#Linked List #Heap #Divide and Conquer
Hard Solution
11

Backtracking

Explore all possibilities recursively, pruning invalid branches early.

1 Easy 12 Medium 1 Hard
Problem Difficulty Solution Link
Longest Valid Parentheses
#String
Easy Solution
Combination Sum
#Array #Backtracking
Medium Solution
Combination Sum II
#Array #Backtracking
Medium Solution
Find all permutations of a given string without duplicates
#String
Medium Solution
Find all permutations of a string
#String
Medium Solution
Generate Parentheses
#String #Dynamic Programming #Backtracking
Medium Solution
Letter Combinations of a Phone Number
#Hash Table #String #Backtracking
Medium Solution
Next Permutation
#Array
Medium Solution
Palindrome Partitioning
#String #Dynamic Programming #Backtracking
Medium Solution
Permutations
#Array #Backtracking
Medium Solution
Subsets
#Array #Backtracking #Bit Manipulation
Medium Solution
Subsets II
#Array #Backtracking #Bit Manipulation
Medium Solution
Word Search
#Array #Matrix #Backtracking
Medium Solution
N-Queens
#Array #Backtracking
Hard Solution
12

Graphs

DFS and BFS on adjacency lists for connectivity, cycles, and path problems.

10 Medium
Problem Difficulty Solution Link
All Paths From Source to Target
#Backtracking #DFS #BFS
Medium Solution
Cheapest Flights Within K Stops
#Dynamic Programming #DFS #BFS
Medium Solution
Clone Graph
#Graph #DFS #BFS
Medium Solution
Find Eventual Safe States
#DFS #BFS #Graph
Medium Solution
Graph Valid Tree Premium
#Depth-First Search #Breadth-First Search #Union Find
Medium Solution
Minimum Height Trees
#DFS #BFS #Graph
Medium Solution
Network Delay Time
#DFS #BFS #Graph
Medium Solution
Number of Connected Components in Undirected Graph Premium
#Graph #DFS #Union Find
Medium Solution
Pacific Atlantic Water Flow
#Graph #DFS #BFS
Medium Solution
Surrounded Regions
#Array #DFS #BFS
Medium Solution
13

Dynamic Programming

Break problems into overlapping subproblems and build up solutions bottom-up.

3 Easy 21 Medium 2 Hard
Problem Difficulty Solution Link
Best Time to Buy and Sell Stock
#Array #Dynamic Programming
Easy Solution
Climbing Stairs
#DP #Math #Memoization
Easy Solution
Min Cost Climbing Stairs
#Array #Dynamic Programming
Easy Solution
Best Time to Buy and Sell Stock with Cooldown
#Array #Dynamic Programming
Medium Solution
Best Time to Buy and Sell Stock with Transaction Fee
#Array #Dynamic Programming #Greedy
Medium Solution
Coin Change
#Array #DP #BFS
Medium Solution
Decode Ways
#String #DP
Medium Solution
House Robber
#Array #DP
Medium Solution
House Robber II
#Array #Dynamic Programming
Medium Solution
Integer Break
#Math #Dynamic Programming
Medium Solution
Interleaving String
#String #Dynamic Programming #BFS
Medium Solution
Longest Common Subsequence
#String #DP
Medium Solution
Longest Increasing Subsequence
#Array #DP #Binary Search
Medium Solution
Longest Palindromic Substring
#String #Dynamic Programming
Medium Solution
Maximum Product Subarray
#Array #Dynamic Programming
Medium Solution
Maximum Subarray
#Array #DP #Divide and Conquer
Medium Solution
Minimum Path Sum
#Array #Dynamic Programming #Matrix
Medium Solution
Palindromic Substrings
#String #Dynamic Programming
Medium Solution
Partition Equal Subset Sum
#Array #Dynamic Programming
Medium Solution
Perfect Squares
#Math #Dynamic Programming #BFS
Medium Solution
Target Sum
#Array #Dynamic Programming #Backtracking
Medium Solution
Triangle
#Array #Dynamic Programming
Medium Solution
Unique Paths
#Math #DP #Combinatorics
Medium Solution
Word Break
#String #DP #Hash Set
Medium Solution
Edit Distance
#String #DP
Hard Solution
Regular Expression Matching
#String #Dynamic Programming #Recursion
Hard Solution
14

Greedy

Make the locally optimal choice at each step to achieve a globally optimal solution.

7 Medium 1 Hard
Problem Difficulty Solution Link
Gas Station
#Array #Greedy
Medium Solution
Jump Game
#Array #Greedy #DP
Medium Solution
Jump Game II
#Array #Greedy #DP
Medium Solution
Meeting Rooms II Premium
#Array #Greedy #Sorting
Medium Solution
Minimum Number of Arrows to Burst Balloons
#Array #Greedy #Sorting
Medium Solution
Non-overlapping Intervals
#Array #Greedy #Dynamic Programming
Medium Solution
Queue Reconstruction by Height
#Array #Greedy #Sorting
Medium Solution
Candy
#Array #Greedy
Hard Solution
15

Intervals

Merge, insert, and count overlapping intervals after sorting by start time.

1 Easy 2 Medium 1 Hard
Problem Difficulty Solution Link
Meeting Rooms Premium
#Array #Sorting
Easy Solution
Insert Interval
#Array
Medium Solution
Merge Intervals
#Array #Sorting
Medium Solution
Minimum Interval to Include Each Query
#Array #Binary Search #Line Sweep
Hard Solution
16

Matrix

Navigate 2D grids with DFS/BFS, rotation, spiral traversal, and flood fill.

1 Easy 6 Medium
Problem Difficulty Solution Link
Count Negative Numbers in a Sorted Matrix
#Array #Binary Search #Matrix
Easy Solution
Game of Life
#Array #Matrix #Simulation
Medium Solution
Maximal Square
#Array #Dynamic Programming #Matrix
Medium Solution
Rotate Image
#Array #Matrix #Math
Medium Solution
Search a 2D Matrix II
#Array #Binary Search #Divide and Conquer
Medium Solution
Set Matrix Zeroes
#Array #Matrix
Medium Solution
Spiral Matrix
#Array #Matrix #Simulation
Medium Solution
17

Bit Manipulation

Use bitwise operations to solve XOR, subset, and number theory problems.

6 Easy 2 Medium
Problem Difficulty Solution Link
Counting Bits
#DP #Bit Manipulation
Easy Solution
Missing Number
#Array #Math #Bit Manipulation
Easy Solution
Number of 1 Bits
#Divide and Conquer #Bit Manipulation
Easy Solution
Power of Two
#Math #Bit Manipulation #Recursion
Easy Solution
Reverse Bits
#Divide and Conquer #Bit Manipulation
Easy Solution
Single Number
#Array #Bit Manipulation
Easy Solution
Single Number II
#Array #Bit Manipulation
Medium Solution
Sum of Two Integers
#Math #Bit Manipulation
Medium Solution
18

Topological Sort

Linear ordering of vertices in a DAG — essential for dependency problems.

4 Medium 1 Hard
Problem Difficulty Solution Link
Course Schedule
#Graph #DFS #BFS
Medium Solution
Course Schedule II
#Graph #DFS #BFS
Medium Solution
Parallel Courses Premium
#Graph #Topological Sort #BFS
Medium Solution
Sequence Reconstruction Premium
#Array #Graph #Topological Sort
Medium Solution
Alien Dictionary Premium
#Array #String #Graph
Hard Solution
19

Union Find

Disjoint set union for grouping, connectivity, and cycle detection.

5 Medium 1 Hard
Problem Difficulty Solution Link
Accounts Merge
#Graph #Union Find #DFS
Medium Solution
Most Stones Removed with Same Row or Column
#Hash Table #DFS #Union-Find
Medium Solution
Number of Provinces
#DFS #BFS #Union-Find
Medium Solution
Redundant Connection
#Graph #Union Find #DFS
Medium Solution
Satisfiability of Equality Equations
#Array #String #Union-Find
Medium Solution
Swim in Rising Water
#Array #Binary Search #DFS
Hard Solution
20

Trie

Prefix tree for efficient string search, autocomplete, and word matching.

4 Medium 1 Hard
Problem Difficulty Solution Link
Design Add and Search Words Data Structure
#Design #Trie #DFS
Medium Solution
Implement Trie (Prefix Tree)
#Design #Trie
Medium Solution
Longest Word in Dictionary
#Array #Hash Table #String
Medium Solution
Replace Words
#Array #Hash Table #String
Medium Solution
Word Search II
#Array #String #Backtracking
Hard Solution
21

Monotonic Stack

Maintain a sorted stack to find next/previous greater or smaller elements in O(n).

1 Easy 5 Medium 1 Hard
Problem Difficulty Solution Link
Next Greater Element I
#Array #Hash Map #Stack
Easy Solution
132 Pattern
#Array #Binary Search #Stack
Medium Solution
Online Stock Span
#Stack #Design #Monotonic Stack
Medium Solution
Remove Duplicate Letters
#String #Stack #Greedy
Medium Solution
Stock Span Problem
#Stack
Medium Solution
Sum of Subarray Minimums
#Array #Dynamic Programming #Stack
Medium Solution
Largest Rectangle in Histogram
#Array #Stack #Monotonic Stack
Hard Solution
Buy me a coffee
Daily Practice
0/0