AlgoMap.io - Free Data Structures & Algorithms Roadmap
0 / 100
Arrays & Strings
Big O Notation: Time & Space Complexity
Static Arrays, Dynamic Arrays & Strings
Full Python Course for Beginners
Problem | Difficulty | Solution | Code | Difficulty Score | Status |
---|---|---|---|---|---|
Find Closest Number to Zero | Easy | 🎥 | ![]() |
3/10 | ✖ |
Merge Strings Alternately | Easy | 🎥 | ![]() |
4/10 | ✖ |
Roman to Integer | Easy | 🎥 | ![]() |
4.5/10 | ✖ |
Is Subsequence | Easy | 🎥 | ![]() |
4.5/10 | ✖ |
Best Time to Buy and Sell Stock | Easy | 🎥 | ![]() |
5/10 | ✖ |
Longest Common Prefix | Easy | 🎥 | ![]() |
5/10 | ✖ |
Summary Ranges | Easy | 🎥 | ![]() |
5/10 | ✖ |
Remove Duplicates From Sorted Array | Easy | 🎥 | ![]() |
5/10 | ✖ |
Remove Element | Easy | 🎥 | ![]() |
5/10 | ✖ |
Merge Sorted Array | Easy | 🎥 | ![]() |
5/10 | ✖ |
Best Time to Buy and Sell Stock II | Medium | 🎥 | ![]() |
5.5/10 | ✖ |
Remove Duplicates From Sorted Array II | Medium | 🎥 | ![]() |
6/10 | ✖ |
Sort Colors | Medium | 🎥 | ![]() |
6.5/10 | ✖ |
Product of Array Except Self | Medium | 🎥 | ![]() |
7/10 | ✖ |
H Index | Medium | 🎥 | ![]() |
7/10 | ✖ |
Merge Intervals | Medium | 🎥 | ![]() |
8/10 | ✖ |
Spiral Matrix | Medium | 🎥 | ![]() |
8/10 | ✖ |
ZigZag Conversion | Medium | 🎥 | ![]() |
8/10 | ✖ |
Rotate Image | Medium | 🎥 | ![]() |
9/10 | ✖ |
Hashmaps & Sets
Problem | Difficulty | Solution | Code | Difficulty Score | Status |
---|---|---|---|---|---|
Jewels and Stones | Easy | 🎥 | ![]() |
3/10 | ✖ |
Contains Duplicate | Easy | 🎥 | ![]() |
3/10 | ✖ |
Ransom Note | Easy | 🎥 | ![]() |
4/10 | ✖ |
Valid Anagram | Easy | 🎥 | ![]() |
5/10 | ✖ |
Maximum Number of Balloons | Easy | 🎥 | ![]() |
6/10 | ✖ |
Two Sum | Easy | 🎥 | ![]() |
6/10 | ✖ |
Valid Sudoku | Medium | 🎥 | ![]() |
6.5/10 | ✖ |
Group Anagrams | Medium | 🎥 | ![]() |
7.5/10 | ✖ |
Majority Element | Easy | 🎥 | ![]() |
8/10 | ✖ |
Longest Consecutive Sequence | Hard | 🎥 | ![]() |
8.5/10 | ✖ |
2 Pointers
Problem | Difficulty | Solution | Code | Difficulty Score | Status |
---|---|---|---|---|---|
Squares of a Sorted Array | Easy | 🎥 | ![]() |
4/10 | ✖ |
Reverse String | Easy | 🎥 | ![]() |
4/10 | ✖ |
Two Sum II - Input Array Is Sorted | Easy | 🎥 | ![]() |
5/10 | ✖ |
Valid Palindrome | Easy | 🎥 | ![]() |
5/10 | ✖ |
3Sum | Medium | 🎥 | ![]() |
7/10 | ✖ |
Container With Most Water | Medium | 🎥 | ![]() |
7.5/10 | ✖ |
3Sum Closest | Medium | 🎥 | ![]() |
7.5/10 | ✖ |
4Sum | Medium | 🎥 | ![]() |
7.5/10 | ✖ |
Trapping Rain Water | Hard | 🎥 | ![]() |
9/10 | ✖ |
Stacks
Problem | Difficulty | Solution | Code | Difficulty Score | Status |
---|---|---|---|---|---|
Baseball Game | Easy | 🎥 | ![]() |
4/10 | ✖ |
Valid Parentheses | Easy | 🎥 | ![]() |
5.5/10 | ✖ |
Evaluate Reverse Polish Notation (RPN) | Medium | 🎥 | ![]() |
6/10 | ✖ |
Daily Temperatures | Medium | 🎥 | ![]() |
6.5/10 | ✖ |
Min Stack | Medium | 🎥 | ![]() |
7/10 | ✖ |
Largest Rectangle in Histogram | Hard | 🎥 | ![]() |
9.5/10 | ✖ |
Linked Lists
Problem | Difficulty | Solution | Code | Difficulty Score | Status |
---|---|---|---|---|---|
Remove Duplicates from Sorted List | Easy | 🎥 | ![]() |
4/10 | ✖ |
Insert Greatest Common Divisors in Linked List | Medium | 🎥 | ![]() |
4/10 | ✖ |
Reverse Linked List | Easy | 🎥 | ![]() |
5/10 | ✖ |
Merge Two Sorted Lists | Easy | 🎥 | ![]() |
5/10 | ✖ |
Linked List Cycle | Easy | 🎥 | ![]() |
6/10 | ✖ |
Middle of the Linked List | Easy | 🎥 | ![]() |
6/10 | ✖ |
Remove Nth Node from End of List | Medium | 🎥 | ![]() |
6/10 | ✖ |
Copy List with Random Pointer | Medium | 🎥 | ![]() |
7/10 | ✖ |
Binary Search
Problem | Difficulty | Solution | Code | Difficulty Score | Status |
---|---|---|---|---|---|
Binary Search | Easy | 🎥 | ![]() |
3/10 | ✖ |
Search Insert Position | Easy | 🎥 | ![]() |
3.5/10 | ✖ |
First Bad Version | Easy | 🎥 | ![]() |
4/10 | ✖ |
Valid Perfect Square | Easy | 🎥 | ![]() |
4/10 | ✖ |
Search a 2D Matrix | Medium | 🎥 | ![]() |
5/10 | ✖ |
Find Minimum in Rotated Sorted Array | Medium | 🎥 | ![]() |
6/10 | ✖ |
Search in Rotated Sorted Array | Medium | 🎥 | ![]() |
7/10 | ✖ |
Koko Eating Bananas | Medium | 🎥 | ![]() |
7/10 | ✖ |
Sliding Window
Problem | Difficulty | Solution | Code | Difficulty Score | Status |
---|---|---|---|---|---|
Maximum Average Subarray I | Easy | 🎥 | ![]() |
5/10 | ✖ |
Max Consecutive Ones III | Medium | 🎥 | ![]() |
5/10 | ✖ |
Longest Substring Without Repeating Characters | Medium | 🎥 | ![]() |
5.5/10 | ✖ |
Longest Repeating Character Replacement | Medium | 🎥 | ![]() |
6/10 | ✖ |
Minimum Size Subarray Sum | Medium | 🎥 | ![]() |
6/10 | ✖ |
Permutation in String | Medium | 🎥 | ![]() |
7/10 | ✖ |
Trees
Problem | Difficulty | Solution | Code | Difficulty Score | Status |
---|---|---|---|---|---|
Invert Binary Tree | Easy | 🎥 | ![]() |
3/10 | ✖ |
Maximum Depth of Binary Tree | Easy | 🎥 | ![]() |
4/10 | ✖ |
Balanced Binary Tree | Easy | 🎥 | ![]() |
5/10 | ✖ |
Diameter of Binary Tree | Easy | 🎥 | ![]() |
5/10 | ✖ |
Same Binary Tree | Easy | 🎥 | ![]() |
5/10 | ✖ |
Symmetric Tree | Easy | 🎥 | ![]() |
5/10 | ✖ |
Path Sum | Easy | 🎥 | ![]() |
5.5/10 | ✖ |
Subtree of Another Tree | Medium | 🎥 | ![]() |
5.5/10 | ✖ |
Binary Tree Level Order Traversal (BFS) | Medium | 🎥 | ![]() |
6/10 | ✖ |
Average of Levels in Binary Tree | Easy | 🎥 | ![]() |
6/10 | ✖ |
Kth Smallest Element in a BST | Medium | 🎥 | ![]() |
6.5/10 | ✖ |
Minimum Absolute Difference in BST | Easy | 🎥 | ![]() |
6.5/10 | ✖ |
Validate Binary Search Tree | Medium | 🎥 | ![]() |
6.5/10 | ✖ |
Lowest Common Ancestor of a Binary Search Tree | Medium | 🎥 | ![]() |
7/10 | ✖ |
Implement Trie (Prefix Tree) | Medium | 🎥 | ![]() |
8/10 | ✖ |
Heaps
Problem | Difficulty | Solution | Code | Difficulty Score | Status |
---|---|---|---|---|---|
Last Stone Weight | Easy | 🎥 | ![]() |
5/10 | ✖ |
Kth Largest Element in an Array | Medium | 🎥 | ![]() |
6/10 | ✖ |
Top K Frequent Elements | Medium | 🎥 | ![]() |
6/10 | ✖ |
K Closest Points to Origin | Medium | 🎥 | ![]() |
6.5/10 | ✖ |
Merge K Sorted Linked Lists | Hard | 🎥 | ![]() |
8/10 | ✖ |
Recursive Backtracking
Problem | Difficulty | Solution | Code | Difficulty Score | Status |
---|---|---|---|---|---|
Subsets | Medium | 🎥 | ![]() |
6/10 | ✖ |
Permutations | Medium | 🎥 | ![]() |
6/10 | ✖ |
Combinations | Medium | 🎥 | ![]() |
6.5/10 | ✖ |
Combination Sum | Medium | 🎥 | ![]() |
7/10 | ✖ |
Letter Combinations of a Phone Number | Medium | 🎥 | ![]() |
7/10 | ✖ |
Generate Parentheses | Medium | 🎥 | ![]() |
8/10 | ✖ |
Jump Game II | Medium | 🎥 | ![]() |
8/10 | ✖ |
Word Search | Medium | 🎥 | ![]() |
9/10 | ✖ |
Graphs
Problem | Difficulty | Solution | Code | Difficulty Score | Status |
---|---|---|---|---|---|
Find if Path Exists in Graph | Easy | 🎥 | ![]() |
5/10 | ✖ |
Number of Islands | Medium | 🎥 | ![]() |
7/10 | ✖ |
Max Area of Island | Medium | 🎥 | ![]() |
7/10 | ✖ |
Course Schedule (Detecting Cycles in a Graph) | Medium | 🎥 | ![]() |
7/10 | ✖ |
Course Schedule II (Topological Sort) | Medium | 🎥 | ![]() |
7/10 | ✖ |
Pacific Atlantic Water Flow | Medium | 🎥 | ![]() |
8/10 | ✖ |
Clone Graph | Medium | 🎥 | ![]() |
8/10 | ✖ |
Rotting Oranges | Medium | 🎥 | ![]() |
8/10 | ✖ |
Min Cost to Connect All Points (Prim's Algorithm to Create MST) | Medium | 🎥 | ![]() |
8.5/10 | ✖ |
Network Delay Time (Dijkstra's Algorithm) | Medium | 🎥 | ![]() |
8.5/10 | ✖ |
Dynamic Programming
Problem | Difficulty | Solution | Code | Difficulty Score | Status |
---|---|---|---|---|---|
Fibonacci Number | Easy | 🎥 | ![]() |
5/10 | ✖ |
Climbing Stairs | Easy | 🎥 | ![]() |
5/10 | ✖ |
Min Cost Climbing Stairs | Easy | 🎥 | ![]() |
6/10 | ✖ |
House Robber | Medium | 🎥 | ![]() |
6/10 | ✖ |
Unique Paths | Medium | 🎥 | ![]() |
6/10 | ✖ |
Maximum Subarray (Kadane's Algorithm) | Medium | 🎥 | ![]() |
6.5/10 | ✖ |
Jump Game | Medium | 🎥 | ![]() |
7.5/10 | ✖ |
Coin Change | Medium | 🎥 | ![]() |
7.5/10 | ✖ |
Longest Increasing Subsequence | Medium | 🎥 | ![]() |
8/10 | ✖ |
Longest Common Subsequence | Medium | 🎥 | ![]() |
10/10 | ✖ |
Bit Manipulation
Problem | Difficulty | Solution | Code | Difficulty Score | Status |
---|---|---|---|---|---|
Base 7 | Easy | 🎥 | ![]() |
5/10 | ✖ |
Single Number | Easy | 🎥 | ![]() |
6/10 | ✖ |
Number of 1 Bits | Easy | 🎥 | ![]() |
8/10 | ✖ |
Add Binary | Easy | 🎥 | ![]() |
9/10 | ✖ |
You must be signed in to mark questions as solved.