Problem List
All LeetCode problems organized by pattern. Solve in priority order within each section.
Legend:
- β Must-do β foundational, appears in almost every interview loop
- β‘ High value β strong ROI, top-tier company favorite
- π Learning problem β builds intuition, less common in interviews
HashMap
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 1 | Two Sum | Easy | Very High | β |
| 49 | Group Anagrams | Medium | Very High | β |
| 128 | Longest Consecutive Sequence | Medium | Very High | β |
| 217 | Contains Duplicate | Easy | High | β |
| 242 | Valid Anagram | Easy | High | β |
| 347 | Top K Frequent Elements | Medium | Very High | β |
| 560 | Subarray Sum Equals K | Medium | High | β |
| 383 | Ransom Note | Easy | Medium | β‘ |
| 290 | Word Pattern | Easy | Medium | β‘ |
| 454 | 4Sum II | Medium | Medium | β‘ |
| 525 | Contiguous Array | Medium | Medium | β‘ |
| 974 | Subarray Sums Divisible by K | Medium | Medium | β‘ |
Two Pointers
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 125 | Valid Palindrome | Easy | High | β |
| 167 | Two Sum II - Sorted Array | Medium | High | β |
| 15 | 3Sum | Medium | Very High | β |
| 11 | Container With Most Water | Medium | Very High | β |
| 42 | Trapping Rain Water | Hard | Very High | β |
| 18 | 4Sum | Medium | Medium | β‘ |
| 283 | Move Zeroes | Easy | High | β |
| 344 | Reverse String | Easy | Medium | β‘ |
| 977 | Squares of a Sorted Array | Easy | Medium | β‘ |
| 16 | 3Sum Closest | Medium | Medium | β‘ |
Sliding Window
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 643 | Maximum Average Subarray I | Easy | Medium | β |
| 3 | Longest Substring Without Repeating Characters | Medium | Very High | β |
| 567 | Permutation in String | Medium | High | β |
| 76 | Minimum Window Substring | Hard | Very High | β |
| 239 | Sliding Window Maximum | Hard | High | β |
| 424 | Longest Repeating Character Replacement | Medium | High | β |
| 209 | Minimum Size Subarray Sum | Medium | High | β‘ |
| 438 | Find All Anagrams in a String | Medium | High | β‘ |
| 1004 | Max Consecutive Ones III | Medium | Medium | β‘ |
| 1343 | Number of Sub-arrays of Size K and Avg >= Threshold | Medium | Low | π |
Stack
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 20 | Valid Parentheses | Easy | Very High | β |
| 155 | Min Stack | Medium | Very High | β |
| 739 | Daily Temperatures | Medium | Very High | β |
| 853 | Car Fleet | Medium | Medium | β‘ |
| 84 | Largest Rectangle in Histogram | Hard | High | β |
| 150 | Evaluate Reverse Polish Notation | Medium | High | β |
| 22 | Generate Parentheses | Medium | High | β |
| 496 | Next Greater Element I | Easy | Medium | β‘ |
| 503 | Next Greater Element II | Medium | Medium | β‘ |
| 85 | Maximal Rectangle | Hard | Medium | β‘ |
| 901 | Online Stock Span | Medium | Medium | β‘ |
Linked List
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 206 | Reverse Linked List | Easy | Very High | β |
| 21 | Merge Two Sorted Lists | Easy | Very High | β |
| 141 | Linked List Cycle | Easy | High | β |
| 142 | Linked List Cycle II | Medium | High | β |
| 19 | Remove Nth Node From End | Medium | High | β |
| 143 | Reorder List | Medium | High | β |
| 23 | Merge K Sorted Lists | Hard | Very High | β |
| 160 | Intersection of Two Linked Lists | Easy | High | β‘ |
| 234 | Palindrome Linked List | Easy | Medium | β‘ |
| 92 | Reverse Linked List II | Medium | Medium | β‘ |
| 138 | Copy List with Random Pointer | Medium | High | β |
| 25 | Reverse Nodes in K-Group | Hard | Medium | β‘ |
Recursion / Divide & Conquer
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 509 | Fibonacci Number | Easy | Low | π |
| 50 | Pow(x, n) | Medium | High | β |
| 215 | Kth Largest Element in an Array | Medium | Very High | β |
| 148 | Sort List | Medium | High | β |
| 23 | Merge K Sorted Lists | Hard | Very High | β |
| 240 | Search a 2D Matrix II | Medium | Medium | β‘ |
| 315 | Count of Smaller Numbers After Self | Hard | Medium | β‘ |
| 4 | Median of Two Sorted Arrays | Hard | High | β‘ |
Tree DFS
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 104 | Maximum Depth of Binary Tree | Easy | Very High | β |
| 226 | Invert Binary Tree | Easy | Very High | β |
| 543 | Diameter of Binary Tree | Easy | Very High | β |
| 110 | Balanced Binary Tree | Easy | High | β |
| 100 | Same Tree | Easy | High | β |
| 572 | Subtree of Another Tree | Easy | High | β |
| 112 | Path Sum | Easy | High | β |
| 113 | Path Sum II | Medium | Medium | β‘ |
| 124 | Binary Tree Maximum Path Sum | Hard | Very High | β |
| 236 | Lowest Common Ancestor of Binary Tree | Medium | Very High | β |
| 105 | Construct Tree from Preorder and Inorder | Medium | High | β |
| 437 | Path Sum III | Medium | High | β‘ |
| 297 | Serialize and Deserialize Binary Tree | Hard | High | β‘ |
Tree BFS
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 102 | Binary Tree Level Order Traversal | Medium | Very High | β |
| 199 | Binary Tree Right Side View | Medium | Very High | β |
| 1161 | Maximum Level Sum of Binary Tree | Medium | Medium | β‘ |
| 103 | Binary Tree Zigzag Level Order | Medium | High | β |
| 116 | Populating Next Right Pointers | Medium | Medium | β‘ |
| 111 | Minimum Depth of Binary Tree | Easy | Medium | β‘ |
| 637 | Average of Levels in Binary Tree | Easy | Medium | β‘ |
| 515 | Find Largest Value in Each Tree Row | Medium | Low | π |
BST
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 700 | Search in a BST | Easy | Medium | β |
| 701 | Insert into a BST | Medium | Medium | β |
| 450 | Delete Node in a BST | Medium | Medium | β‘ |
| 98 | Validate Binary Search Tree | Medium | Very High | β |
| 230 | Kth Smallest Element in BST | Medium | High | β |
| 235 | Lowest Common Ancestor of BST | Medium | High | β |
| 108 | Convert Sorted Array to BST | Easy | Medium | β‘ |
| 173 | BST Iterator | Medium | Medium | β‘ |
| 285 | Inorder Successor in BST | Medium | Medium | β‘ |
Heap / Priority Queue
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 703 | Kth Largest Element in Stream | Easy | High | β |
| 1046 | Last Stone Weight | Easy | Medium | β‘ |
| 973 | K Closest Points to Origin | Medium | Very High | β |
| 215 | Kth Largest Element in an Array | Medium | Very High | β |
| 621 | Task Scheduler | Medium | High | β |
| 355 | Design Twitter | Medium | Medium | β‘ |
| 295 | Find Median from Data Stream | Hard | High | β |
| 23 | Merge K Sorted Lists | Hard | Very High | β |
| 502 | IPO | Hard | Low | π |
| 632 | Smallest Range Covering Elements from K Lists | Hard | Low | π |
Graph BFS / DFS on Grids
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 200 | Number of Islands | Medium | Very High | β |
| 695 | Max Area of Island | Medium | High | β |
| 994 | Rotting Oranges | Medium | Very High | β |
| 286 | Walls and Gates | Medium | High | β |
| 417 | Pacific Atlantic Water Flow | Medium | High | β |
| 130 | Surrounded Regions | Medium | Medium | β‘ |
| 1020 | Number of Enclaves | Medium | Medium | β‘ |
| 1091 | Shortest Path in Binary Matrix | Medium | Medium | β‘ |
| 827 | Making a Large Island | Hard | Medium | β‘ |
| 542 | 01 Matrix | Medium | High | β |
Graph DFS
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 133 | Clone Graph | Medium | High | β |
| 207 | Course Schedule | Medium | Very High | β |
| 323 | Number of Connected Components | Medium | High | β |
| 261 | Graph Valid Tree | Medium | High | β |
| 332 | Reconstruct Itinerary | Hard | Medium | β‘ |
| 1376 | Time Needed to Inform All Employees | Medium | Medium | β‘ |
| 399 | Evaluate Division | Medium | Medium | β‘ |
| 802 | Find Eventual Safe States | Medium | Medium | β‘ |
Greedy
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 455 | Assign Cookies | Easy | Medium | β |
| 1710 | Maximum Units on a Truck | Easy | Medium | β |
| 55 | Jump Game | Medium | Very High | β |
| 45 | Jump Game II | Medium | High | β |
| 435 | Non-overlapping Intervals | Medium | High | β |
| 452 | Minimum Number of Arrows to Burst Balloons | Medium | Medium | β‘ |
| 56 | Merge Intervals | Medium | Very High | β |
| 57 | Insert Interval | Medium | High | β |
| 134 | Gas Station | Medium | High | β‘ |
| 763 | Partition Labels | Medium | Medium | β‘ |
| 846 | Hand of Straights | Medium | Medium | β‘ |
Binary Search
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 704 | Binary Search | Easy | High | β |
| 374 | Guess Number Higher or Lower | Easy | Medium | β |
| 35 | Search Insert Position | Easy | High | β |
| 33 | Search in Rotated Sorted Array | Medium | Very High | β |
| 81 | Search in Rotated Sorted Array II | Medium | Medium | β‘ |
| 153 | Find Minimum in Rotated Sorted Array | Medium | Very High | β |
| 74 | Search a 2D Matrix | Medium | High | β |
| 875 | Koko Eating Bananas | Medium | High | β |
| 1011 | Capacity To Ship Packages Within D Days | Medium | High | β |
| 410 | Split Array Largest Sum | Hard | Medium | β‘ |
| 4 | Median of Two Sorted Arrays | Hard | High | β‘ |
| 162 | Find Peak Element | Medium | High | β‘ |
| 34 | Find First and Last Position of Element | Medium | High | β |
Backtracking
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 78 | Subsets | Medium | Very High | β |
| 90 | Subsets II | Medium | Medium | β‘ |
| 77 | Combinations | Medium | High | β |
| 46 | Permutations | Medium | Very High | β |
| 47 | Permutations II | Medium | Medium | β‘ |
| 39 | Combination Sum | Medium | Very High | β |
| 40 | Combination Sum II | Medium | Medium | β‘ |
| 216 | Combination Sum III | Medium | Medium | β‘ |
| 131 | Palindrome Partitioning | Medium | High | β |
| 17 | Letter Combinations of a Phone Number | Medium | High | β |
| 79 | Word Search | Medium | High | β |
| 51 | N-Queens | Hard | High | β |
| 52 | N-Queens II | Hard | Low | π |
| 37 | Sudoku Solver | Hard | Medium | β‘ |
Dynamic Programming β 1D
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 70 | Climbing Stairs | Easy | Very High | β |
| 746 | Min Cost Climbing Stairs | Easy | High | β |
| 198 | House Robber | Medium | Very High | β |
| 213 | House Robber II | Medium | High | β |
| 322 | Coin Change | Medium | Very High | β |
| 518 | Coin Change II | Medium | High | β |
| 139 | Word Break | Medium | Very High | β |
| 300 | Longest Increasing Subsequence | Medium | Very High | β |
| 416 | Partition Equal Subset Sum | Medium | High | β |
| 91 | Decode Ways | Medium | High | β |
| 338 | Counting Bits | Easy | Medium | β‘ |
| 152 | Maximum Product Subarray | Medium | Very High | β |
| 53 | Maximum Subarray (Kadaneβs) | Medium | Very High | β |
| 377 | Combination Sum IV | Medium | Medium | β‘ |
Dynamic Programming β 2D
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 62 | Unique Paths | Medium | High | β |
| 63 | Unique Paths II | Medium | Medium | β‘ |
| 64 | Minimum Path Sum | Medium | High | β |
| 1143 | Longest Common Subsequence | Medium | Very High | β |
| 72 | Edit Distance | Medium | High | β |
| 115 | Distinct Subsequences | Hard | Medium | β‘ |
| 312 | Burst Balloons | Hard | Medium | β‘ |
| 10 | Regular Expression Matching | Hard | Medium | β‘ |
| 97 | Interleaving String | Medium | Medium | β‘ |
| 309 | Best Time to Buy and Sell Stock with Cooldown | Medium | Medium | β‘ |
| 123 | Best Time to Buy and Sell Stock III | Hard | High | β‘ |
| 188 | Best Time to Buy and Sell Stock IV | Hard | Medium | π |
Trie
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 208 | Implement Trie | Medium | High | β |
| 211 | Design Add and Search Words | Medium | High | β |
| 212 | Word Search II | Hard | Medium | β‘ |
| 648 | Replace Words | Medium | Low | π |
| 421 | Maximum XOR of Two Numbers in an Array | Medium | Low | π |
Union Find
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 547 | Number of Provinces | Medium | High | β |
| 684 | Redundant Connection | Medium | High | β |
| 128 | Longest Consecutive Sequence | Medium | Very High | β |
| 721 | Accounts Merge | Medium | High | β |
| 1584 | Min Cost to Connect All Points | Medium | Medium | β‘ |
| 990 | Satisfiability of Equality Equations | Medium | Medium | β‘ |
| 1319 | Number of Operations to Make Network Connected | Medium | Medium | β‘ |
| 685 | Redundant Connection II | Hard | Low | π |
Topological Sort
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 207 | Course Schedule | Medium | Very High | β |
| 210 | Course Schedule II | Medium | Very High | β |
| 269 | Alien Dictionary | Hard | High | β |
| 329 | Longest Increasing Path in a Matrix | Hard | Medium | β‘ |
| 1203 | Sort Items by Groups Respecting Dependencies | Hard | Low | π |
| 310 | Minimum Height Trees | Medium | Medium | β‘ |
| 444 | Sequence Reconstruction | Medium | Low | π |
Dijkstraβs Algorithm
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 743 | Network Delay Time | Medium | High | β |
| 1631 | Path With Minimum Effort | Medium | High | β |
| 787 | Cheapest Flights Within K Stops | Medium | High | β |
| 1514 | Path With Maximum Probability | Medium | Medium | β‘ |
| 778 | Swim in Rising Water | Hard | Medium | β‘ |
| 1368 | Minimum Cost to Make at Least One Valid Path | Hard | Low | π |
Bellman-Ford
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 787 | Cheapest Flights Within K Stops | Medium | High | β |
| 743 | Network Delay Time | Medium | High | β‘ |
| 1334 | Find City With Smallest Number of Neighbors | Medium | Medium | β‘ |
A* Search
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 1091 | Shortest Path in Binary Matrix | Medium | Medium | β‘ |
| 505 | The Maze II | Medium | Low | π |
| 1263 | Minimum Moves to Move a Box to Target | Hard | Low | π |
Segment Tree
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 307 | Range Sum Query - Mutable | Medium | High | β |
| 315 | Count of Smaller Numbers After Self | Hard | Medium | β‘ |
| 493 | Reverse Pairs | Hard | Low | π |
| 218 | The Skyline Problem | Hard | Medium | β‘ |
| 308 | Range Sum Query 2D - Mutable | Hard | Low | π |
Fenwick Tree / BIT
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 307 | Range Sum Query - Mutable | Medium | High | β |
| 315 | Count of Smaller Numbers After Self | Hard | Medium | β |
| 493 | Reverse Pairs | Hard | Low | π |
| 327 | Count of Range Sum | Hard | Low | π |
AVL Trees / Balanced BST
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 1382 | Balance a Binary Search Tree | Medium | Low | β‘ |
| 315 | Count of Smaller Numbers After Self | Hard | Medium | β‘ |
| 480 | Sliding Window Median | Hard | Medium | β‘ |
Suffix Array
| # | Problem | Difficulty | Frequency | Priority |
|---|---|---|---|---|
| 1044 | Longest Duplicate Substring | Hard | Low | π |
| 1062 | Longest Repeating Substring | Medium | Low | π |
| 718 | Maximum Length of Repeated Subarray | Medium | Medium | β‘ |
Miscellaneous β Must Know
These donβt fit neatly into one pattern but appear very frequently.
| # | Problem | Pattern | Difficulty | Frequency | Priority |
|---|---|---|---|---|---|
| 121 | Best Time to Buy and Sell Stock | Array | Easy | Very High | β |
| 238 | Product of Array Except Self | Array | Medium | Very High | β |
| 271 | Encode and Decode Strings | String | Medium | High | β |
| 371 | Sum of Two Integers | Bit Manipulation | Medium | High | β |
| 191 | Number of 1 Bits | Bit Manipulation | Easy | High | β |
| 268 | Missing Number | Bit Manipulation | Easy | High | β |
| 146 | LRU Cache | Design | Medium | Very High | β |
| 380 | Insert Delete GetRandom O(1) | Design | Medium | High | β |
| 252 | Meeting Rooms | Intervals | Easy | High | β |
| 253 | Meeting Rooms II | Intervals | Medium | Very High | β |