← Writing

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.

🧠 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


#📚 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 ▶

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.
Share X LinkedIn

More on Engineering