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 | Leetcode | 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 | Leetcode | 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 | Leetcode | 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 | Leetcode | 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 | Leetcode | 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 | Leetcode | 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 | Leetcode | 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 | Leetcode | 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 | Leetcode | 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 | Leetcode | 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 | Leetcode | 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 | Leetcode | 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 | Leetcode | 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.
