Engineering30 Aug 202619 min read
Neetcode and Blind Sheet
Curated list of 150+ LeetCode problems organized by pattern. Built for systematic, high retention interview preparation. Track your progress, internalize patterns, and crush coding interviews.…
🧠 NeetCode 150 + Blind 75 — Interview Prep 2026
Curated list of 150+ LeetCode problems organized by pattern. Built for systematic, high-retention interview preparation. Track your progress, internalize patterns, and crush coding interviews.
#📌 Quick Navigation
| Section | Problems | Blind 75 |
|---|---|---|
| Arrays & Hashing | 9 | 7 |
| Two Pointers | 5 | 4 |
| Sliding Window | 6 | 4 |
| Stack | 7 | 1 |
| Binary Search | 7 | 2 |
| Linked List | 11 | 6 |
| Trees | 15 | 11 |
| Tries | 3 | 3 |
| Backtracking | 9 | 3 |
| Heap / Priority Queue | 7 | 1 |
| Graphs | 13 | 6 |
| 1-D DP | 12 | 10 |
| 2-D DP | 11 | 2 |
| Intervals | 6 | 5 |
| Greedy | 8 | 3 |
| Advanced Graphs | 6 | 1 |
| Bit Manipulation | 7 | 6 |
| Math & Geometry | 8 | 3 |
#📚 Resources
#Primary
| Resource | Link |
|---|---|
| 🚀 NeetCode Practice | neetcode.io/practice |
| 🗺️ NeetCode Roadmap | neetcode.io/roadmap |
| 📹 NeetCode YouTube | Blind 75 Playlist |
| 🥇 LeetCode Top 150 | Study Plan |
| 🧩 Leetcode Patterns | seanprashad.com |
| 🏫 Grind 75 | techinterviewhandbook.org/grind75 |
| 📋 Blind 75 Original Post | teamblind.com |
#🗂️ Legend
| Symbol | Meaning |
|---|---|
| ⭐ | Part of original Blind 75 list |
| ✅ | Completed |
| 🔁 | Needs review |
| 💡 | Key pattern — high interview frequency |
| 🟢 | Easy |
| 🟡 | Medium |
| 🔴 | Hard |
#📋 Problem Lists
#🔢 Arrays & Hashing
Prerequisites: Dynamic Arrays · Hash Usage · Hash Implementation · Prefix Sums
Key Pattern: Use a hash map/set to reduce time from O(n²) → O(n). Think: "What complement / count / group do I need to look up instantly?"
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 217 | Contains Duplicate ⭐ 💡 | 🟢 | HashSet | ▶ |
| ☐ 242 | Valid Anagram ⭐ 💡 | 🟢 | HashMap / Sort | ▶ |
| ☐ 001 | Two Sum ⭐ 💡 | 🟢 | HashMap | ▶ |
| ☐ 049 | Group Anagrams ⭐ | 🟡 | HashMap, Sort | ▶ |
| ☐ 347 | Top K Frequent Elements ⭐ 💡 | 🟡 | Bucket Sort / Heap | ▶ |
| ☐ 271 | Encode and Decode Strings ⭐ | 🟡 | String Design | ▶ |
| ☐ 238 | Product of Array Except Self ⭐ 💡 | 🟡 | Prefix/Suffix | ▶ |
| ☐ 036 | Valid Sudoku | 🟡 | HashSet, Matrix | ▶ |
| ☐ 128 | Longest Consecutive Sequence ⭐ 💡 | 🟡 | HashSet | ▶ |
#👉 Two Pointers
Prerequisites: Two Pointers technique
Key Pattern: Start pointers at both ends (or at two positions). Move based on a condition. Works on sorted arrays and strings.
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 125 | Valid Palindrome ⭐ 💡 | 🟢 | Two Pointers | ▶ |
| ☐ 167 | Two Sum II - Input Array Is Sorted | 🟡 | Two Pointers | ▶ |
| ☐ 015 | 3Sum ⭐ 💡 | 🟡 | Sort + Two Pointers | ▶ |
| ☐ 011 | Container With Most Water ⭐ | 🟡 | Two Pointers, Greedy | ▶ |
| ☐ 042 | Trapping Rain Water 💡 | 🔴 | Two Pointers / Stack | ▶ |
#🪟 Sliding Window
Prerequisites: Fixed Size Window · Variable Size Window
Key Pattern: Expand right pointer, shrink left when constraint violated. Track window state with a hashmap or counter. O(n) over O(n²).
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 121 | Best Time to Buy and Sell Stock ⭐ 💡 | 🟢 | Sliding Window, Min Track | ▶ |
| ☐ 003 | Longest Substring Without Repeating Characters ⭐ 💡 | 🟡 | Sliding Window, HashSet | ▶ |
| ☐ 424 | Longest Repeating Character Replacement ⭐ | 🟡 | Sliding Window | ▶ |
| ☐ 567 | Permutation in String | 🟡 | Fixed Window, Frequency | ▶ |
| ☐ 076 | Minimum Window Substring ⭐ 💡 | 🔴 | Sliding Window, HashMap | ▶ |
| ☐ 239 | Sliding Window Maximum 💡 | 🔴 | Monotonic Deque | ▶ |
#📚 Stack
Prerequisites: Stack data structure
Key Pattern: Think "last in, first out." Use a stack for: matching pairs, tracking previous states, monotonic sequences (next greater/smaller).
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 020 | Valid Parentheses ⭐ 💡 | 🟢 | Stack, Matching | ▶ |
| ☐ 155 | Min Stack | 🟡 | Stack Design | ▶ |
| ☐ 150 | Evaluate Reverse Polish Notation | 🟡 | Stack | ▶ |
| ☐ 022 | Generate Parentheses | 🟡 | Stack, Backtracking | ▶ |
| ☐ 739 | Daily Temperatures 💡 | 🟡 | Monotonic Stack | ▶ |
| ☐ 853 | Car Fleet | 🟡 | Monotonic Stack | ▶ |
| ☐ 084 | Largest Rectangle in Histogram 💡 | 🔴 | Monotonic Stack | ▶ |
#🔍 Binary Search
Prerequisites: Search Array · Search Range
Key Pattern: Any time you're searching over a sorted/monotonic space, think binary search. Template: lo=0, hi=n-1, mid=(lo+hi)//2, adjust bounds based on condition.
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 704 | Binary Search | 🟢 | Binary Search | ▶ |
| ☐ 074 | Search a 2D Matrix | 🟡 | Binary Search | ▶ |
| ☐ 875 | Koko Eating Bananas 💡 | 🟡 | Binary Search on Answer | ▶ |
| ☐ 153 | Find Minimum in Rotated Sorted Array ⭐ 💡 | 🟡 | Binary Search | ▶ |
| ☐ 033 | Search in Rotated Sorted Array ⭐ 💡 | 🟡 | Binary Search | ▶ |
| ☐ 981 | Time Based Key-Value Store | 🟡 | Binary Search, Design | ▶ |
| ☐ 004 | Median of Two Sorted Arrays | 🔴 | Binary Search, Partition | ▶ |
#🔗 Linked List
Prerequisites: Singly Linked Lists · Doubly Linked Lists · Fast & Slow Pointers
Key Pattern: Use a dummy head node. For cycle/midpoint detection, use fast (2x) and slow (1x) pointers. Reverse by tracking prev/curr/next.
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 206 | Reverse Linked List ⭐ 💡 | 🟢 | Iterative / Recursive | ▶ |
| ☐ 021 | Merge Two Sorted Lists ⭐ 💡 | 🟢 | Dummy Node | ▶ |
| ☐ 141 | Linked List Cycle ⭐ 💡 | 🟢 | Fast & Slow Pointers | ▶ |
| ☐ 143 | Reorder List ⭐ | 🟡 | Fast/Slow + Reverse | ▶ |
| ☐ 019 | Remove Nth Node From End of List ⭐ | 🟡 | Two Pointers, Dummy | ▶ |
| ☐ 138 | Copy List with Random Pointer | 🟡 | HashMap | ▶ |
| ☐ 002 | Add Two Numbers | 🟡 | Simulation | ▶ |
| ☐ 287 | Find the Duplicate Number 💡 | 🟡 | Floyd's Cycle, Binary Search | ▶ |
| ☐ 146 | LRU Cache 💡 | 🟡 | HashMap + Doubly Linked List | ▶ |
| ☐ 023 | Merge K Sorted Lists ⭐ 💡 | 🔴 | Heap / Divide & Conquer | ▶ |
| ☐ 025 | Reverse Nodes in K-Group | 🔴 | Recursion, Reverse | ▶ |
#🌳 Trees
Prerequisites: BST Insert/Remove · DFS · BFS · BST Sets/Maps · Iterative DFS
Key Pattern: Most tree problems = DFS recursion (return values bottom-up). BFS = level-order with a queue. BST properties: left < node < right.
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 226 | Invert Binary Tree ⭐ 💡 | 🟢 | DFS | ▶ |
| ☐ 104 | Maximum Depth of Binary Tree ⭐ | 🟢 | DFS / BFS | ▶ |
| ☐ 543 | Diameter of Binary Tree | 🟢 | DFS | ▶ |
| ☐ 110 | Balanced Binary Tree | 🟢 | DFS | ▶ |
| ☐ 100 | Same Tree ⭐ | 🟢 | DFS | ▶ |
| ☐ 572 | Subtree of Another Tree ⭐ | 🟢 | DFS | ▶ |
| ☐ 235 | Lowest Common Ancestor of BST ⭐ 💡 | 🟡 | BST, DFS | ▶ |
| ☐ 236 | Lowest Common Ancestor of Binary Tree ⭐ 💡 | 🟡 | DFS | — |
| ☐ 102 | Binary Tree Level Order Traversal ⭐ 💡 | 🟡 | BFS | ▶ |
| ☐ 199 | Binary Tree Right Side View | 🟡 | BFS | ▶ |
| ☐ 1448 | Count Good Nodes in Binary Tree | 🟡 | DFS | ▶ |
| ☐ 098 | Validate Binary Search Tree ⭐ 💡 | 🟡 | DFS, Min/Max Bounds | ▶ |
| ☐ 230 | Kth Smallest Element in BST ⭐ | 🟡 | Inorder DFS | ▶ |
| ☐ 105 | Construct Binary Tree from Preorder and Inorder ⭐ 💡 | 🟡 | DFS, HashMap | ▶ |
| ☐ 124 | Binary Tree Maximum Path Sum ⭐ 💡 | 🔴 | DFS, Global Max | ▶ |
| ☐ 297 | Serialize and Deserialize Binary Tree | 🔴 | BFS / DFS, Design | ▶ |
#🔤 Tries
Prerequisites: Trie data structure
Key Pattern: Each node has 26 children (a–z) and an isEnd flag. Insert: O(m). Search: O(m). Use for prefix matching, autocomplete, word search.
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 208 | Implement Trie (Prefix Tree) ⭐ 💡 | 🟡 | Trie Design | ▶ |
| ☐ 211 | Design Add and Search Words Data Structure ⭐ | 🟡 | Trie, DFS | ▶ |
| ☐ 212 | Word Search II ⭐ 💡 | 🔴 | Trie + Backtracking | ▶ |
#🔄 Backtracking
Prerequisites: Tree Maze · Subsets · Combinations · Permutations
Key Pattern: "Choose, explore, unchoose." Build a decision tree. Prune early when a branch can't lead to a solution. Template: if base_case: add; for choice: pick → recurse → unpick.
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 078 | Subsets 💡 | 🟡 | Backtracking | ▶ |
| ☐ 039 | Combination Sum ⭐ 💡 | 🟡 | Backtracking | ▶ |
| ☐ 046 | Permutations 💡 | 🟡 | Backtracking | ▶ |
| ☐ 090 | Subsets II | 🟡 | Backtracking, Dedup | ▶ |
| ☐ 040 | Combination Sum II | 🟡 | Backtracking, Dedup | ▶ |
| ☐ 079 | Word Search ⭐ | 🟡 | Backtracking, DFS Grid | ▶ |
| ☐ 131 | Palindrome Partitioning | 🟡 | Backtracking | ▶ |
| ☐ 017 | Letter Combinations of a Phone Number | 🟡 | Backtracking | ▶ |
| ☐ 051 | N-Queens | 🔴 | Backtracking | ▶ |
#⛰️ Heap / Priority Queue
Prerequisites: Heap Properties · Push/Pop · Heapify · Two Heaps
Key Pattern: Use a min-heap for "k smallest/largest." Use two heaps (max-heap left, min-heap right) for medians. Python: heapq is min-heap; negate values for max-heap.
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 703 | Kth Largest Element in a Stream | 🟢 | Min-Heap | ▶ |
| ☐ 1046 | Last Stone Weight | 🟢 | Max-Heap | ▶ |
| ☐ 973 | K Closest Points to Origin | 🟡 | Heap / QuickSelect | ▶ |
| ☐ 215 | Kth Largest Element in an Array 💡 | 🟡 | Heap / QuickSelect | ▶ |
| ☐ 621 | Task Scheduler | 🟡 | Greedy, Max-Heap | ▶ |
| ☐ 355 | Design Twitter | 🟡 | Heap, Design | ▶ |
| ☐ 295 | Find Median from Data Stream ⭐ 💡 | 🔴 | Two Heaps | ▶ |
#🗺️ Graphs
Prerequisites: Intro to Graphs · Matrix DFS · Matrix BFS · Adjacency List
Key Pattern: DFS for connectivity/path. BFS for shortest path. Union-Find for component merging. Always track visited to avoid cycles.
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 200 | Number of Islands ⭐ 💡 | 🟡 | DFS/BFS Grid | ▶ |
| ☐ 695 | Max Area of Island | 🟡 | DFS Grid | ▶ |
| ☐ 133 | Clone Graph ⭐ | 🟡 | DFS/BFS, HashMap | ▶ |
| ☐ 286 | Walls and Gates | 🟡 | Multi-source BFS | ▶ |
| ☐ 994 | Rotting Oranges | 🟡 | Multi-source BFS | ▶ |
| ☐ 417 | Pacific Atlantic Water Flow ⭐ | 🟡 | Reverse DFS/BFS | ▶ |
| ☐ 130 | Surrounded Regions | 🟡 | Reverse DFS | ▶ |
| ☐ 207 | Course Schedule ⭐ 💡 | 🟡 | Cycle Detection, Topo Sort | ▶ |
| ☐ 210 | Course Schedule II 💡 | 🟡 | Topological Sort | ▶ |
| ☐ 261 | Graph Valid Tree ⭐ | 🟡 | Union-Find / DFS | ▶ |
| ☐ 323 | Number of Connected Components ⭐ | 🟡 | Union-Find / DFS | ▶ |
| ☐ 684 | Redundant Connection | 🟡 | Union-Find | ▶ |
| ☐ 127 | Word Ladder | 🔴 | BFS | ▶ |
#📈 1-D DP
Prerequisites: 1-Dimension DP · Palindromes
Key Pattern: dp[i] = best answer for first i elements. Either: (1) use/skip current element, or (2) extend from previous states. Build bottom-up to avoid recursion overhead.
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 070 | Climbing Stairs ⭐ 💡 | 🟢 | Fibonacci DP | ▶ |
| ☐ 746 | Min Cost Climbing Stairs | 🟢 | DP | ▶ |
| ☐ 198 | House Robber ⭐ 💡 | 🟡 | DP | ▶ |
| ☐ 213 | House Robber II ⭐ | 🟡 | DP, Circular | ▶ |
| ☐ 005 | Longest Palindromic Substring ⭐ 💡 | 🟡 | Expand from Center / DP | ▶ |
| ☐ 647 | Palindromic Substrings ⭐ | 🟡 | Expand from Center | ▶ |
| ☐ 091 | Decode Ways ⭐ | 🟡 | DP | ▶ |
| ☐ 322 | Coin Change ⭐ 💡 | 🟡 | DP (Unbounded Knapsack) | ▶ |
| ☐ 152 | Maximum Product Subarray ⭐ | 🟡 | DP, Track Min/Max | ▶ |
| ☐ 139 | Word Break ⭐ | 🟡 | DP, HashSet | ▶ |
| ☐ 300 | Longest Increasing Subsequence ⭐ 💡 | 🟡 | DP / Binary Search | ▶ |
| ☐ 416 | Partition Equal Subset Sum | 🟡 | 0/1 Knapsack DP | ▶ |
#📊 2-D DP
Prerequisites: 2-Dimension DP · 0/1 Knapsack · Unbounded Knapsack · LCS
Key Pattern: dp[i][j] = answer using first i of one sequence and j of another. Most 2D DP has a clear "include/exclude" or "match/skip" transition.
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 062 | Unique Paths ⭐ | 🟡 | Grid DP | ▶ |
| ☐ 1143 | Longest Common Subsequence ⭐ 💡 | 🟡 | 2D DP | ▶ |
| ☐ 309 | Best Time to Buy and Sell Stock with Cooldown | 🟡 | State Machine DP | ▶ |
| ☐ 518 | Coin Change II | 🟡 | Unbounded Knapsack | ▶ |
| ☐ 494 | Target Sum | 🟡 | 0/1 Knapsack | ▶ |
| ☐ 097 | Interleaving String | 🟡 | 2D DP | ▶ |
| ☐ 072 | Edit Distance 💡 | 🟡 | 2D DP | ▶ |
| ☐ 329 | Longest Increasing Path in a Matrix | 🔴 | DFS + Memoization | ▶ |
| ☐ 115 | Distinct Subsequences | 🔴 | 2D DP | ▶ |
| ☐ 312 | Burst Balloons | 🔴 | Interval DP | ▶ |
| ☐ 010 | Regular Expression Matching | 🔴 | 2D DP | ▶ |
#⏱️ Intervals
Key Pattern: Sort by start time. To merge: check current.start <= prev.end. To find non-overlapping: greedily keep intervals that end earliest.
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 057 | Insert Interval ⭐ 💡 | 🟡 | Intervals, Merge | ▶ |
| ☐ 056 | Merge Intervals ⭐ 💡 | 🟡 | Sort, Merge | ▶ |
| ☐ 435 | Non-Overlapping Intervals ⭐ | 🟡 | Greedy, Sort | ▶ |
| ☐ 252 | Meeting Rooms ⭐ | 🟢 | Sort, Intervals | ▶ |
| ☐ 253 | Meeting Rooms II ⭐ 💡 | 🟡 | Heap / Two Pointers | ▶ |
| ☐ 1851 | Minimum Interval to Include Each Query | 🔴 | Heap, Sort | ▶ |
#💰 Greedy
Prerequisites: Kadane's Algorithm
Key Pattern: Make the locally optimal choice at each step. Works when local optimal → global optimal. Prove it works, then code it.
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 053 | Maximum Subarray ⭐ 💡 | 🟡 | Kadane's Algorithm | ▶ |
| ☐ 055 | Jump Game ⭐ 💡 | 🟡 | Greedy | ▶ |
| ☐ 045 | Jump Game II | 🟡 | Greedy, BFS-like | ▶ |
| ☐ 134 | Gas Station | 🟡 | Greedy | ▶ |
| ☐ 846 | Hand of Straights | 🟡 | Greedy, HashMap | ▶ |
| ☐ 1899 | Merge Triplets to Form Target Triplet | 🟡 | Greedy | ▶ |
| ☐ 763 | Partition Labels | 🟡 | Greedy, Last Index | ▶ |
| ☐ 678 | Valid Parenthesis String | 🟡 | Greedy | ▶ |
#🚀 Advanced Graphs
Prerequisites: Dijkstra's · Prim's · Kruskal's · Topological Sort
Key Pattern: Dijkstra = weighted BFS with a min-heap. Union-Find = MST (Kruskal's). Bellman-Ford = negative weights. Topo sort = DFS finishing order reversed.
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 332 | Reconstruct Itinerary | 🔴 | Eulerian Path, DFS | ▶ |
| ☐ 1584 | Min Cost to Connect All Points | 🟡 | MST (Prim's / Kruskal's) | ▶ |
| ☐ 743 | Network Delay Time 💡 | 🟡 | Dijkstra's | ▶ |
| ☐ 778 | Swim in Rising Water | 🔴 | Dijkstra's / Binary Search | ▶ |
| ☐ 269 | Alien Dictionary ⭐ 💡 | 🔴 | Topological Sort | ▶ |
| ☐ 787 | Cheapest Flights Within K Stops | 🟡 | Bellman-Ford / Dijkstra | ▶ |
#🔢 Bit Manipulation
Prerequisites: Bit Operations
Key Pattern: XOR (^) cancels duplicates. AND (&) masks bits. Shift right (>>) to check bits. n & (n-1) clears lowest set bit. n & (-n) isolates lowest set bit.
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 136 | Single Number 💡 | 🟢 | XOR | ▶ |
| ☐ 191 | Number of 1 Bits ⭐ | 🟢 | Bit Count | ▶ |
| ☐ 338 | Counting Bits ⭐ | 🟢 | DP + Bits | ▶ |
| ☐ 190 | Reverse Bits ⭐ | 🟢 | Bit Manipulation | ▶ |
| ☐ 268 | Missing Number ⭐ | 🟢 | XOR / Math | ▶ |
| ☐ 371 | Sum of Two Integers ⭐ 💡 | 🟡 | Bit Add (XOR + Carry) | ▶ |
| ☐ 007 | Reverse Integer | 🟡 | Math, Overflow | ▶ |
#📐 Math & Geometry
Key Pattern: Matrix rotations = transpose + reverse. Spiral traversal = shrink boundaries. Modular arithmetic prevents overflow. Fast exponentiation = O(log n).
| # | Problem | Diff | Tags | Video |
|---|---|---|---|---|
| ☐ 048 | Rotate Image ⭐ 💡 | 🟡 | Transpose + Reverse | ▶ |
| ☐ 054 | Spiral Matrix ⭐ | 🟡 | Boundary Simulation | ▶ |
| ☐ 073 | Set Matrix Zeroes ⭐ | 🟡 | In-place Marking | ▶ |
| ☐ 202 | Happy Number | 🟢 | Floyd's Cycle | ▶ |
| ☐ 066 | Plus One | 🟢 | Array, Math | ▶ |
| ☐ 050 | Pow(x, n) 💡 | 🟡 | Fast Exponentiation | ▶ |
| ☐ 043 | Multiply Strings | 🟡 | String Math | ▶ |
| ☐ 2013 | Detect Squares | 🟡 | HashMap, Geometry | ▶ |
#🧩 Pattern Cheat Sheet
| Pattern | When to Use | Time |
|---|---|---|
| Hash Map/Set | Lookup, frequency count, dedup | O(n) |
| Two Pointers | Sorted array, palindrome, pair sum | O(n) |
| Sliding Window | Subarray/substring with constraint | O(n) |
| Monotonic Stack | Next greater/smaller element | O(n) |
| Binary Search | Sorted or monotonic search space | O(log n) |
| Fast & Slow Pointers | Cycle detection, middle of list | O(n) |
| DFS (recursive) | Tree/graph traversal, backtracking | O(V+E) |
| BFS (queue) | Shortest path, level order | O(V+E) |
| Union-Find | Connected components, cycle detect | O(α·n) ≈ O(1) |
| Topological Sort | DAG ordering, course schedule | O(V+E) |
| 0/1 Knapsack DP | Include/exclude decisions | O(n·W) |
| Interval Merge | Overlapping ranges | O(n log n) |
| Greedy | Locally optimal → globally optimal | varies |
| Heap (k-th element) | Top-K, streaming median | O(n log k) |
| Trie | Prefix search, word dict | O(m) per op |
| Divide & Conquer | Merge sort, tree recursion | O(n log n) |
#🎯 Study Plans
#🏃 2-Week Speed Run (Blind 75 only)
Focus only on ⭐ problems. ~4-5 problems/day.
#📅 5-Week Full NeetCode 150
Week 1: Arrays, Two Pointers, Sliding Window, Stack
Week 2: Binary Search, Linked List, Trees
Week 3: Tries, Backtracking, Heap, Graphs
Week 4: 1-D DP, Intervals, Greedy
Week 5: 2-D DP, Advanced Graphs, Bit Manipulation, Math
#🔥 Interview Week (Top 30 💡 problems)
Focus only on 💡 tagged problems — these are the highest-frequency patterns seen in FAANG/top-tier interviews in 2025–2026.
#📊 Progress Tracker
| Category | Total | Completed | Remaining |
|---|---|---|---|
| Arrays & Hashing | 9 | 0 | 9 |
| Two Pointers | 5 | 0 | 5 |
| Sliding Window | 6 | 0 | 6 |
| Stack | 7 | 0 | 7 |
| Binary Search | 7 | 0 | 7 |
| Linked List | 11 | 0 | 11 |
| Trees | 16 | 0 | 16 |
| Tries | 3 | 0 | 3 |
| Backtracking | 9 | 0 | 9 |
| Heap / Priority Queue | 7 | 0 | 7 |
| Graphs | 13 | 0 | 13 |
| 1-D DP | 12 | 0 | 12 |
| 2-D DP | 11 | 0 | 11 |
| Intervals | 6 | 0 | 6 |
| Greedy | 8 | 0 | 8 |
| Advanced Graphs | 6 | 0 | 6 |
| Bit Manipulation | 7 | 0 | 7 |
| Math & Geometry | 8 | 0 | 8 |
| Total | 151 | 0 | 151 |
#💡 Interview Tips (2026)
- Meta, Google, Amazon heavily test graph traversal, DP, and trees. Start there.
- Startups and mid-size tend to focus on Arrays, Strings, and basic DP.
- System design rounds at senior levels often follow coding — NeetCode has a system design course too.
- Always clarify constraints: ask about input size, edge cases, and expected complexity before coding.
- Think out loud — interviewers want to see your reasoning, not just the answer.
- Practice with a timer: aim for Easy in ~10 min, Medium in ~20–25 min.