All 88 problems from Cisco's all-time LeetCode list (22 Easy, 50 Medium, 16 Hard), grouped by the pattern that solves them. 75 are solved on this site: open one to see which pattern to choose and why, the approach, the code with a line-by-line explanation, and a player that steps through the code on LeetCode's own example. Easy warm-ups and SQL/JavaScript problems link to LeetCode.
On the pattern pages these problems carry a Cisco badge. Frequency is LeetCode's relative score for this list (100 = asked most often). Read a pattern page first, then work through its group here from the most to the least frequent problem.
About 5–6 problems on 5 days a week. Each month: read the pattern page, solve its worked examples without looking, then this list. Re-solve anything you needed a hint for one week later.
| When | Focus | Patterns (problems on the list) | Total |
|---|---|---|---|
| Month 1 | Foundations: arrays you can scan | 01 · Prefix Sum (2) 02 · Two Pointers (8) 03 · Sliding Window (6) 04 · Fast & Slow Pointers (3) 05 · LinkedList In-place Reversal (4) 21 · Array & String Basics (6) | 29 |
| Month 2 | Stacks, heaps, intervals, binary search | 06 · Monotonic Stack (1) 07 · Top 'K' Elements (1) 08 · Overlapping Intervals (3) 09 · Modified Binary Search (5) 17 · Stack (3) | 13 |
| Month 3 | Trees and graphs | 10 · Binary Tree Traversal (3) 11 · Depth-First Search (DFS) on Graphs (2) 12 · Breadth-First Search (BFS) (3) 13 · Matrix Traversal (5) 23 · Union-Find (Disjoint Set Union) (1) | 14 |
| Month 4 | Search and dynamic programming | 14 · Backtracking (4) 15 · Dynamic Programming Patterns (8) | 12 |
| Month 5 | Hashing, greedy, design, weighted graphs | 16 · Hash Map & Set (5) 18 · Greedy (2) 19 · Trie & Design (4) 20 · Shortest Path & MST (1) | 12 |
| Month 6 | Math, range structures, then mock interviews | 22 · Math & Bit Manipulation (7) | 7 |
In the last two weeks, filter to Hard, sort your attention by frequency, and do timed mock interviews: 45 minutes, talk through the brute force, name the pattern, then code it.
2 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 560 | Subarray Sum Equals K | Medium | 36 | Array, Hash Table, Prefix Sum | Solution · LeetCode ↗ | |
| 525 | Contiguous Array | Medium | 36 | Array, Hash Table, Prefix Sum | Solution · LeetCode ↗ |
7 solved on the pattern page (step-by-step explanation and a step-through player), 1 Easy warm-ups that link to LeetCode.
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 5 | Longest Palindromic Substring | Medium | 100 | Two Pointers, String, Dynamic Programming, Manacher | Solution · LeetCode ↗ | |
| 26 | Remove Duplicates from Sorted Array | Easy | 50 | Array, Two Pointers | Solution · LeetCode ↗ | |
| 15 | 3Sum | Medium | 44 | Array, Two Pointers, Sorting | Solution · LeetCode ↗ | |
| 88 | Merge Sorted Array | Easy | 44 | Array, Two Pointers, Sorting | Solution · LeetCode ↗ | |
| 283 | Move Zeroes | Easy | 44 | Array, Two Pointers | LeetCode ↗ | |
| 125 | Valid Palindrome | Easy | 44 | Two Pointers, String | Solution · LeetCode ↗ | |
| 75 | Sort Colors | Medium | 36 | Array, Two Pointers, Sorting, Quicksort, Bubble Sort | Solution · LeetCode ↗ | |
| 809 | Expressive Words | Medium | 36 | Array, Two Pointers, String | Solution · LeetCode ↗ |
6 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 3 | Longest Substring Without Repeating Characters | Medium | 69 | Hash Table, String, Sliding Window | Solution · LeetCode ↗ | |
| 2067 | Number of Equal Count Substrings Premium | Medium | 64 | Hash Table, String, Sliding Window, Counting | Solution · LeetCode ↗ | |
| 121 | Best Time to Buy and Sell Stock | Easy | 44 | Array, Dynamic Programming | Solution · LeetCode ↗ | |
| 239 | Sliding Window Maximum | Hard | 44 | Array, Queue, Sliding Window, Heap (Priority Queue), Monotonic Queue, Range Minimum/Maximum Query | Solution · LeetCode ↗ | |
| 567 | Permutation in String | Medium | 36 | Hash Table, Two Pointers, String, Sliding Window | Solution · LeetCode ↗ | |
| 76 | Minimum Window Substring | Hard | 36 | Hash Table, String, Sliding Window | Solution · LeetCode ↗ |
3 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 141 | Linked List Cycle | Easy | 55 | Hash Table, Linked List, Two Pointers, Floyd's Cycle Finding Algorithm | Solution · LeetCode ↗ | |
| 202 | Happy Number | Easy | 55 | Hash Table, Math, Two Pointers, Floyd's Cycle Finding Algorithm | Solution · LeetCode ↗ | |
| 287 | Find the Duplicate Number | Medium | 36 | Array, Two Pointers, Binary Search, Bit Manipulation, Pigeonhole Principle, Floyd's Cycle Finding Algorithm | Solution · LeetCode ↗ |
3 solved on the pattern page (step-by-step explanation and a step-through player), 1 Easy warm-ups that link to LeetCode.
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 2 | Add Two Numbers | Medium | 50 | Linked List, Math, Recursion | Solution · LeetCode ↗ | |
| 206 | Reverse Linked List | Easy | 44 | Linked List, Recursion | Solution · LeetCode ↗ | |
| 25 | Reverse Nodes in k-Group | Hard | 44 | Linked List, Recursion | Solution · LeetCode ↗ | |
| 1290 | Convert Binary Number in a Linked List to Integer | Easy | 36 | Linked List, Math | LeetCode ↗ |
1 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 84 | Largest Rectangle in Histogram | Hard | 36 | Array, Stack, Monotonic Stack, Range Minimum/Maximum Query | Solution · LeetCode ↗ |
1 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 1606 | Find Servers That Handled Most Number of Requests | Hard | 36 | Array, Heap (Priority Queue), Simulation, Ordered Set | Solution · LeetCode ↗ |
3 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 56 | Merge Intervals | Medium | 44 | Array, Sorting, Quicksort | Solution · LeetCode ↗ | |
| 253 | Meeting Rooms II Premium | Medium | 44 | Array, Two Pointers, Greedy, Sorting, Heap (Priority Queue), Prefix Sum | Solution · LeetCode ↗ | |
| 646 | Maximum Length of Pair Chain | Medium | 36 | Array, Dynamic Programming, Greedy, Sorting, Longest Increasing Subsequence | Solution · LeetCode ↗ |
5 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 2448 | Minimum Cost to Make Array Equal | Hard | 67 | Array, Binary Search, Greedy, Sorting, Prefix Sum | Solution · LeetCode ↗ | |
| 81 | Search in Rotated Sorted Array II | Medium | 36 | Array, Binary Search | Solution · LeetCode ↗ | |
| 33 | Search in Rotated Sorted Array | Medium | 36 | Array, Binary Search | Solution · LeetCode ↗ | |
| 981 | Time Based Key-Value Store | Medium | 36 | Hash Table, String, Binary Search, Design | Solution · LeetCode ↗ | |
| 540 | Single Element in a Sorted Array | Medium | 36 | Array, Binary Search | Solution · LeetCode ↗ |
3 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 1443 | Minimum Time to Collect All Apples in a Tree | Medium | 58 | Hash Table, Tree, Depth-First Search, Breadth-First Search, DP on Trees | Solution · LeetCode ↗ | |
| 236 | Lowest Common Ancestor of a Binary Tree | Medium | 44 | Tree, Depth-First Search, Binary Tree, Binary Lifting, Lowest Common Ancestor | Solution · LeetCode ↗ | |
| 230 | Kth Smallest Element in a BST | Medium | 36 | Tree, Depth-First Search, Binary Search Tree, Binary Tree | Solution · LeetCode ↗ |
2 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 2603 | Collect Coins in a Tree | Hard | 99 | Array, Tree, Graph Theory, Topological Sort | Solution · LeetCode ↗ | |
| 207 | Course Schedule | Medium | 36 | Depth-First Search, Breadth-First Search, Graph Theory, Topological Sort, Directed Acyclic Graph | Solution · LeetCode ↗ |
3 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 909 | Snakes and Ladders | Medium | 36 | Array, Breadth-First Search, Matrix | Solution · LeetCode ↗ | |
| 1293 | Shortest Path in a Grid with Obstacles Elimination | Hard | 36 | Array, Breadth-First Search, Matrix | Solution · LeetCode ↗ | |
| 127 | Word Ladder | Hard | 36 | Hash Table, String, Breadth-First Search, Bidirectional Search | Solution · LeetCode ↗ |
4 solved on the pattern page (step-by-step explanation and a step-through player), 1 Easy warm-ups that link to LeetCode.
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 48 | Rotate Image | Medium | 84 | Array, Math, Matrix | Solution · LeetCode ↗ | |
| 1380 | Lucky Numbers in a Matrix | Easy | 84 | Array, Matrix | LeetCode ↗ | |
| 54 | Spiral Matrix | Medium | 80 | Array, Matrix, Simulation | Solution · LeetCode ↗ | |
| 498 | Diagonal Traverse | Medium | 62 | Array, Matrix, Simulation | Solution · LeetCode ↗ | |
| 200 | Number of Islands | Medium | 50 | Array, Depth-First Search, Breadth-First Search, Union-Find, Matrix | Solution · LeetCode ↗ |
4 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 212 | Word Search II | Hard | 84 | Array, String, Backtracking, Trie, Matrix | Solution · LeetCode ↗ | |
| 17 | Letter Combinations of a Phone Number | Medium | 44 | Hash Table, String, Backtracking | Solution · LeetCode ↗ | |
| 79 | Word Search | Medium | 44 | Array, String, Backtracking, Depth-First Search, Matrix | Solution · LeetCode ↗ | |
| 46 | Permutations | Medium | 36 | Array, Backtracking | Solution · LeetCode ↗ |
8 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 198 | House Robber | Medium | 100 | Array, Dynamic Programming | Solution · LeetCode ↗ | |
| 53 | Maximum Subarray | Medium | 69 | Array, Divide and Conquer, Dynamic Programming | Solution · LeetCode ↗ | |
| 72 | Edit Distance | Medium | 62 | String, Dynamic Programming | Solution · LeetCode ↗ | |
| 486 | Predict the Winner | Medium | 44 | Array, Math, Dynamic Programming, Recursion, Minimax, Game Theory, Zero-Sum Game | Solution · LeetCode ↗ | |
| 647 | Palindromic Substrings | Medium | 36 | Two Pointers, String, Dynamic Programming | Solution · LeetCode ↗ | |
| 2719 | Count of Integers | Hard | 36 | Math, String, Dynamic Programming | Solution · LeetCode ↗ | |
| 1143 | Longest Common Subsequence | Medium | 36 | String, Dynamic Programming, Longest Common Subsequence | Solution · LeetCode ↗ | |
| 312 | Burst Balloons | Hard | 36 | Array, Dynamic Programming | Solution · LeetCode ↗ |
5 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 1 | Two Sum | Easy | 55 | Array, Hash Table | Solution · LeetCode ↗ | |
| 149 | Max Points on a Line | Hard | 55 | Array, Hash Table, Math, Geometry, Euclidean Algorithm, Greatest Common Divisor | Solution · LeetCode ↗ | |
| 49 | Group Anagrams | Medium | 44 | Array, Hash Table, String, Sorting | Solution · LeetCode ↗ | |
| 128 | Longest Consecutive Sequence | Medium | 44 | Array, Hash Table, Union-Find | Solution · LeetCode ↗ | |
| 242 | Valid Anagram | Easy | 36 | Hash Table, String, Sorting | Solution · LeetCode ↗ |
2 solved on the pattern page (step-by-step explanation and a step-through player), 1 Easy warm-ups that link to LeetCode.
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 20 | Valid Parentheses | Easy | 62 | String, Stack, Bracket Sequences | Solution · LeetCode ↗ | |
| 394 | Decode String | Medium | 50 | String, Stack, Recursion | Solution · LeetCode ↗ | |
| 1047 | Remove All Adjacent Duplicates In String | Easy | 36 | String, Stack | LeetCode ↗ |
1 solved on the pattern page (step-by-step explanation and a step-through player), 1 Easy warm-ups that link to LeetCode.
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 55 | Jump Game | Medium | 44 | Array, Dynamic Programming, Greedy | Solution · LeetCode ↗ | |
| 605 | Can Place Flowers | Easy | 36 | Array, Greedy | LeetCode ↗ |
4 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 3508 | Implement Router | Medium | 71 | Array, Hash Table, Binary Search, Design, Queue, Ordered Set | Solution · LeetCode ↗ | |
| 146 | LRU Cache | Medium | 67 | Hash Table, Linked List, Design, Doubly-Linked List | Solution · LeetCode ↗ | |
| 380 | Insert Delete GetRandom O(1) | Medium | 44 | Array, Hash Table, Math, Design, Randomized | Solution · LeetCode ↗ | |
| 642 | Design Search Autocomplete System Premium | Hard | 36 | String, Depth-First Search, Design, Trie, Sorting, Heap (Priority Queue), Data Stream | Solution · LeetCode ↗ |
1 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 787 | Cheapest Flights Within K Stops | Medium | 36 | Dynamic Programming, Depth-First Search, Breadth-First Search, Graph Theory, Heap (Priority Queue), Shortest Path | Solution · LeetCode ↗ |
2 solved on the pattern page (step-by-step explanation and a step-through player), 4 Easy warm-ups that link to LeetCode.
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 2047 | Number of Valid Words in a Sentence | Easy | 67 | String | LeetCode ↗ | |
| 1784 | Check if Binary String Has at Most One Segment of Ones | Easy | 64 | String | LeetCode ↗ | |
| 2016 | Maximum Difference Between Increasing Elements | Easy | 62 | Array | LeetCode ↗ | |
| 151 | Reverse Words in a String | Medium | 44 | Two Pointers, String | Solution · LeetCode ↗ | |
| 197 | Rising Temperature | Easy | 36 | Database | LeetCode ↗ | |
| 273 | Integer to English Words | Hard | 36 | Math, String, Recursion | Solution · LeetCode ↗ |
4 solved on the pattern page (step-by-step explanation and a step-through player), 3 Easy warm-ups that link to LeetCode.
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 412 | Fizz Buzz | Easy | 73 | Math, String, Simulation | LeetCode ↗ | |
| 2081 | Sum of k-Mirror Numbers | Hard | 67 | Math, Enumeration | Solution · LeetCode ↗ | |
| 3047 | Find the Largest Area of Square Inside Two Rectangles | Medium | 64 | Array, Math, Geometry | Solution · LeetCode ↗ | |
| 3648 | Minimum Sensors to Cover Grid | Medium | 64 | Math | Solution · LeetCode ↗ | |
| 136 | Single Number | Easy | 36 | Array, Bit Manipulation | LeetCode ↗ | |
| 50 | Pow(x, n) | Medium | 36 | Math, Recursion | Solution · LeetCode ↗ | |
| 9 | Palindrome Number | Easy | 36 | Math | LeetCode ↗ |
1 solved on the pattern page (step-by-step explanation and a step-through player).
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 3607 | Power Grid Maintenance | Medium | 71 | Array, Hash Table, Depth-First Search, Breadth-First Search, Union-Find, Graph Theory, Heap (Priority Queue), Ordered Set | Solution · LeetCode ↗ |
Database and JavaScript problems from the list. They aren't Python algorithm problems, so they link straight to LeetCode.
| Done | # | Problem | Level | Frequency | Topics | Links |
|---|---|---|---|---|---|---|
| 2986 | Find Third Transaction Premium | Medium | 71 | Database | LeetCode ↗ |