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


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