NeetCode 250 problem tracker¶
At a glance
Priority: P0 · Complexity: ⅕ · Est. time: ongoing (about 7-12 problems per week) · Phase: 1-6 · Prereqs: Approach & complexity, Python idioms You're done when: all 150 NeetCode 150 core problems are ticked and solved within the time-box, every failed problem has been re-solved on days 1, 3, 7 and 21, and you can solve a random unseen Medium in 25 minutes and a Hard in 40.
Why it matters¶
Volume with reflection builds pattern recognition, and a tracker keeps you honest. This master list has 265 problems grouped by pattern: the 150 NeetCode 150 core set (NC150) plus 115 extra problems (NC250+) chosen for Staff-level FAANG coverage (harder variants, classic follow-ups, and the concurrency/LLD set). Ordering inside each pattern is Easy, then Medium, then Hard. The "Week" column follows the roadmap phases in topics.yml.
How to use this page¶
Time-boxing (the 25-35 minute rule)¶
| Minute | Action |
|---|---|
| 0-5 | Restate the problem, examples, constraints, target complexity |
| 5-10 | Brute force + complexity, then name the pattern |
| 10-25 | Implement and trace one example |
| 25-35 | Still stuck? Stop. Read or watch the solution, then close it |
| After | Re-implement from memory without looking, then write a 2-line "key insight" in your notes |
Never grind past 35 minutes on a first attempt: after that you learn little and burn energy. Hards get 40-45 minutes.
Spaced-repetition rule (re-solve on day 1, 3, 7, 21)¶
Every problem that needed a hint, took over the time-box, or had a bug gets scheduled for re-solve from scratch, no notes:
| Attempt | When | Pass criterion |
|---|---|---|
| R0 | Day 0 | First attempt (with the 35-minute box) |
| R1 | Day 1 | Solve unaided in the time-box |
| R2 | Day 3 | Solve unaided in ≤ 20 min |
| R3 | Day 7 | Solve unaided in ≤ 15 min, and explain the complexity out loud |
| R4 | Day 21 | Solve unaided in ≤ 15 min; retire the problem |
A failed re-solve resets the ladder to R0. Keep a simple sheet (or a progress note) with columns: problem, first-solved date, next-due date, ladder step. Aim for 30-40% of each session on re-solves in revision weeks.
Weekly rhythm (12-15 h/week total, DSA about 3-4 h)¶
| Slot | Activity |
|---|---|
| Weekdays (about 30-45 min) | 1-2 new problems from this week's list, timed |
| Saturday | 2-3 harder problems + mock-style: talk aloud, no IDE |
| Sunday | Re-solve queue (due R1-R4 items) + update the tracker |
| Checkpoint weeks 4/8/12/16/20 | Mostly revision: re-solve failed problems, one 45-min mock |
| Week 24 | Mock interviews only (no new problems) |
| Weeks 25-26 (buffer) | Catch-up on stretch problems |
Schedule assumptions: no curriculum.yml was available when this page was generated, so weeks are computed from each pattern's phase (phase 1 starts week 1, phase 2 week 5, phase 3 week 9, phase 4 week 13, phase 5 week 17, phase 6 week 21). Core problems are scheduled first (max 8 per week, 3 on checkpoint weeks), and stretch problems fill remaining capacity once their pattern has started. If data/curriculum.yml moves a phase, shift the week numbers accordingly.
Week summary¶
| Week | Core (NC150) | Stretch | Patterns | Note |
|---|---|---|---|---|
| W01 | 8 | 4 | Arrays & hashing | |
| W02 | 8 | 4 | Arrays & hashing, Two pointers, Sliding window | |
| W03 | 8 | 4 | Arrays & hashing, Two pointers, Sliding window, Stack | |
| W04 | 3 | 2 | Two pointers, Stack | Checkpoint / revision week |
| W05 | 8 | 4 | Two pointers, Sliding window, Binary search, Linked list | |
| W06 | 8 | 4 | Sliding window, Linked list | |
| W07 | 8 | 4 | Sliding window, Stack, Linked list, Trees | |
| W08 | 3 | 2 | Stack, Trees | Checkpoint / revision week |
| W09 | 8 | 4 | Stack, Trees, Tries | |
| W10 | 8 | 4 | Binary search, Tries, Heap | |
| W11 | 8 | 4 | Binary search, Backtracking | |
| W12 | 3 | 2 | Linked list, Backtracking, Graphs | Checkpoint / revision week |
| W13 | 8 | 4 | Linked list, Trees, Graphs | |
| W14 | 8 | 4 | Trees, Tries, Graphs, Advanced graphs | |
| W15 | 8 | 4 | Tries, Heap, Advanced graphs, DP 1-D | |
| W16 | 3 | 2 | Heap, DP 1-D | Checkpoint / revision week |
| W17 | 8 | 4 | Heap, Backtracking, DP 1-D, DP 2-D | |
| W18 | 8 | 4 | Backtracking, DP 2-D, Greedy | |
| W19 | 8 | 4 | Backtracking, Graphs, Greedy, Intervals | |
| W20 | 3 | 2 | Graphs, Intervals | Checkpoint / revision week |
| W21 | 8 | 4 | Math & bits, Concurrency & LLD | |
| W22 | 7 | 5 | Math & bits, Concurrency & LLD | |
| W23 | 0 | 12 | Graphs, Advanced graphs, Concurrency & LLD | |
| W24 | 0 | 0 | - | Checkpoint / revision week; Mock interviews only |
| W25 | 0 | 12 | DP 1-D, DP 2-D, Greedy | Buffer |
| W26 | 0 | 12 | Greedy, Intervals, Math & bits | Buffer |
Master checklist¶
Status legend: [ ] not started, [~] in progress / needs re-solve, [x] done (R4 passed). Edit the status cell by hand as you go. The tracker is a plain table so it renders everywhere.
Arrays & hashing¶
Pattern page: Arrays & hashing · Phase 1
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 1 | 217. Contains Duplicate | Easy | Arrays & hashing | NC150 | W01 | [ ] |
| 2 | 242. Valid Anagram | Easy | Arrays & hashing | NC150 | W01 | [ ] |
| 3 | 1. Two Sum | Easy | Arrays & hashing | NC150 | W01 | [ ] |
| 4 | 1929. Concatenation of Array | Easy | Arrays & hashing | NC250+ | W01 | [ ] |
| 5 | 14. Longest Common Prefix | Easy | Arrays & hashing | NC250+ | W01 | [ ] |
| 6 | 169. Majority Element | Easy | Arrays & hashing | NC250+ | W01 | [ ] |
| 7 | 706. Design HashMap | Easy | Arrays & hashing | NC250+ | W01 | [ ] |
| 8 | 49. Group Anagrams | Medium | Arrays & hashing | NC150 | W01 | [ ] |
| 9 | 347. Top K Frequent Elements | Medium | Arrays & hashing | NC150 | W01 | [ ] |
| 10 | 271. Encode and Decode Strings | Medium | Arrays & hashing | NC150 | W01 | [ ] |
| 11 | 238. Product of Array Except Self | Medium | Arrays & hashing | NC150 | W01 | [ ] |
| 12 | 36. Valid Sudoku | Medium | Arrays & hashing | NC150 | W01 | [ ] |
| 13 | 128. Longest Consecutive Sequence | Medium | Arrays & hashing | NC150 | W02 | [ ] |
| 14 | 560. Subarray Sum Equals K | Medium | Arrays & hashing | NC250+ | W02 | [ ] |
| 15 | 75. Sort Colors | Medium | Arrays & hashing | NC250+ | W02 | [ ] |
| 16 | 912. Sort an Array | Medium | Arrays & hashing | NC250+ | W02 | [ ] |
| 17 | 229. Majority Element II | Medium | Arrays & hashing | NC250+ | W02 | [ ] |
| 18 | 41. First Missing Positive | Hard | Arrays & hashing | NC250+ | W03 | [ ] |
Two pointers¶
Pattern page: Two pointers · Phase 1
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 19 | 125. Valid Palindrome | Easy | Two pointers | NC150 | W02 | [ ] |
| 20 | 344. Reverse String | Easy | Two pointers | NC250+ | W03 | [ ] |
| 21 | 88. Merge Sorted Array | Easy | Two pointers | NC250+ | W03 | [ ] |
| 22 | 283. Move Zeroes | Easy | Two pointers | NC250+ | W03 | [ ] |
| 23 | 26. Remove Duplicates from Sorted Array | Easy | Two pointers | NC250+ | W04 | [ ] |
| 24 | 680. Valid Palindrome II | Easy | Two pointers | NC250+ | W04 | [ ] |
| 25 | 167. Two Sum II - Input Array Is Sorted | Medium | Two pointers | NC150 | W02 | [ ] |
| 26 | 15. 3Sum | Medium | Two pointers | NC150 | W02 | [ ] |
| 27 | 18. 4Sum | Medium | Two pointers | NC250+ | W05 | [ ] |
| 28 | 11. Container With Most Water | Medium | Two pointers | NC150 | W02 | [ ] |
| 29 | 881. Boats to Save People | Medium | Two pointers | NC250+ | W05 | [ ] |
| 30 | 189. Rotate Array | Medium | Two pointers | NC250+ | W05 | [ ] |
| 31 | 42. Trapping Rain Water | Hard | Two pointers | NC150 | W02 | [ ] |
Sliding window¶
Pattern page: Sliding window · Phase 1
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 32 | 121. Best Time to Buy and Sell Stock | Easy | Sliding window | NC150 | W02 | [ ] |
| 33 | 219. Contains Duplicate II | Easy | Sliding window | NC250+ | W05 | [ ] |
| 34 | 3. Longest Substring Without Repeating Characters | Medium | Sliding window | NC150 | W02 | [ ] |
| 35 | 424. Longest Repeating Character Replacement | Medium | Sliding window | NC150 | W03 | [ ] |
| 36 | 567. Permutation in String | Medium | Sliding window | NC150 | W03 | [ ] |
| 37 | 209. Minimum Size Subarray Sum | Medium | Sliding window | NC250+ | W06 | [ ] |
| 38 | 1004. Max Consecutive Ones III | Medium | Sliding window | NC250+ | W06 | [ ] |
| 39 | 438. Find All Anagrams in a String | Medium | Sliding window | NC250+ | W06 | [ ] |
| 40 | 904. Fruit Into Baskets | Medium | Sliding window | NC250+ | W06 | [ ] |
| 41 | 76. Minimum Window Substring | Hard | Sliding window | NC150 | W03 | [ ] |
| 42 | 239. Sliding Window Maximum | Hard | Sliding window | NC150 | W03 | [ ] |
| 43 | 992. Subarrays with K Different Integers | Hard | Sliding window | NC250+ | W07 | [ ] |
Stack¶
Pattern page: Stack · Phase 1
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 44 | 20. Valid Parentheses | Easy | Stack | NC150 | W03 | [ ] |
| 45 | 682. Baseball Game | Easy | Stack | NC250+ | W07 | [ ] |
| 46 | 225. Implement Stack using Queues | Easy | Stack | NC250+ | W07 | [ ] |
| 47 | 155. Min Stack | Medium | Stack | NC150 | W03 | [ ] |
| 48 | 150. Evaluate Reverse Polish Notation | Medium | Stack | NC150 | W03 | [ ] |
| 49 | 22. Generate Parentheses | Medium | Stack | NC150 | W03 | [ ] |
| 50 | 739. Daily Temperatures | Medium | Stack | NC150 | W04 | [ ] |
| 51 | 853. Car Fleet | Medium | Stack | NC150 | W04 | [ ] |
| 52 | 71. Simplify Path | Medium | Stack | NC250+ | W07 | [ ] |
| 53 | 394. Decode String | Medium | Stack | NC250+ | W08 | [ ] |
| 54 | 735. Asteroid Collision | Medium | Stack | NC250+ | W08 | [ ] |
| 55 | 901. Online Stock Span | Medium | Stack | NC250+ | W09 | [ ] |
| 56 | 402. Remove K Digits | Medium | Stack | NC250+ | W09 | [ ] |
| 57 | 907. Sum of Subarray Minimums | Medium | Stack | NC250+ | W09 | [ ] |
| 58 | 84. Largest Rectangle in Histogram | Hard | Stack | NC150 | W04 | [ ] |
| 59 | 85. Maximal Rectangle | Hard | Stack | NC250+ | W09 | [ ] |
Binary search¶
Pattern page: Binary search · Phase 2
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 60 | 704. Binary Search | Easy | Binary search | NC150 | W05 | [ ] |
| 61 | 35. Search Insert Position | Easy | Binary search | NC250+ | W10 | [ ] |
| 62 | 374. Guess Number Higher or Lower | Easy | Binary search | NC250+ | W10 | [ ] |
| 63 | 69. Sqrt(x) | Easy | Binary search | NC250+ | W10 | [ ] |
| 64 | 74. Search a 2D Matrix | Medium | Binary search | NC150 | W05 | [ ] |
| 65 | 875. Koko Eating Bananas | Medium | Binary search | NC150 | W05 | [ ] |
| 66 | 153. Find Minimum in Rotated Sorted Array | Medium | Binary search | NC150 | W05 | [ ] |
| 67 | 33. Search in Rotated Sorted Array | Medium | Binary search | NC150 | W05 | [ ] |
| 68 | 981. Time Based Key-Value Store | Medium | Binary search | NC150 | W05 | [ ] |
| 69 | 34. Find First and Last Position of Element in Sorted Array | Medium | Binary search | NC250+ | W10 | [ ] |
| 70 | 162. Find Peak Element | Medium | Binary search | NC250+ | W11 | [ ] |
| 71 | 1011. Capacity To Ship Packages Within D Days | Medium | Binary search | NC250+ | W11 | [ ] |
| 72 | 81. Search in Rotated Sorted Array II | Medium | Binary search | NC250+ | W11 | [ ] |
| 73 | 410. Split Array Largest Sum | Hard | Binary search | NC250+ | W11 | [ ] |
| 74 | 4. Median of Two Sorted Arrays | Hard | Binary search | NC150 | W05 | [ ] |
Linked list¶
Pattern page: Linked list · Phase 2
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 75 | 206. Reverse Linked List | Easy | Linked list | NC150 | W05 | [ ] |
| 76 | 21. Merge Two Sorted Lists | Easy | Linked list | NC150 | W06 | [ ] |
| 77 | 141. Linked List Cycle | Easy | Linked list | NC150 | W06 | [ ] |
| 78 | 234. Palindrome Linked List | Easy | Linked list | NC250+ | W12 | [ ] |
| 79 | 143. Reorder List | Medium | Linked list | NC150 | W06 | [ ] |
| 80 | 19. Remove Nth Node From End of List | Medium | Linked list | NC150 | W06 | [ ] |
| 81 | 138. Copy List with Random Pointer | Medium | Linked list | NC150 | W06 | [ ] |
| 82 | 2. Add Two Numbers | Medium | Linked list | NC150 | W06 | [ ] |
| 83 | 287. Find the Duplicate Number | Medium | Linked list | NC150 | W06 | [ ] |
| 84 | 142. Linked List Cycle II | Medium | Linked list | NC250+ | W12 | [ ] |
| 85 | 92. Reverse Linked List II | Medium | Linked list | NC250+ | W13 | [ ] |
| 86 | 146. LRU Cache | Medium | Linked list | NC150 | W06 | [ ] |
| 87 | 23. Merge k Sorted Lists | Hard | Linked list | NC150 | W07 | [ ] |
| 88 | 25. Reverse Nodes in k-Group | Hard | Linked list | NC150 | W07 | [ ] |
Trees¶
Pattern page: Trees · Phase 2
Tries¶
Pattern page: Tries · Phase 3
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 108 | 208. Implement Trie (Prefix Tree) | Medium | Tries | NC150 | W09 | [ ] |
| 109 | 211. Design Add and Search Words Data Structure | Medium | Tries | NC150 | W09 | [ ] |
| 110 | 720. Longest Word in Dictionary | Medium | Tries | NC250+ | W14 | [ ] |
| 111 | 648. Replace Words | Medium | Tries | NC250+ | W14 | [ ] |
| 112 | 1268. Search Suggestions System | Medium | Tries | NC250+ | W14 | [ ] |
| 113 | 421. Maximum XOR of Two Numbers in an Array | Medium | Tries | NC250+ | W15 | [ ] |
| 114 | 212. Word Search II | Hard | Tries | NC150 | W10 | [ ] |
| 115 | 336. Palindrome Pairs | Hard | Tries | NC250+ | W15 | [ ] |
Heap¶
Pattern page: Heap · Phase 3
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 116 | 703. Kth Largest Element in a Stream | Easy | Heap | NC150 | W10 | [ ] |
| 117 | 1046. Last Stone Weight | Easy | Heap | NC150 | W10 | [ ] |
| 118 | 973. K Closest Points to Origin | Medium | Heap | NC150 | W10 | [ ] |
| 119 | 215. Kth Largest Element in an Array | Medium | Heap | NC150 | W10 | [ ] |
| 120 | 621. Task Scheduler | Medium | Heap | NC150 | W10 | [ ] |
| 121 | 355. Design Twitter | Medium | Heap | NC150 | W10 | [ ] |
| 122 | 767. Reorganize String | Medium | Heap | NC250+ | W15 | [ ] |
| 123 | 1405. Longest Happy String | Medium | Heap | NC250+ | W15 | [ ] |
| 124 | 1834. Single-Threaded CPU | Medium | Heap | NC250+ | W16 | [ ] |
| 125 | 373. Find K Pairs with Smallest Sums | Medium | Heap | NC250+ | W16 | [ ] |
| 126 | 295. Find Median from Data Stream | Hard | Heap | NC150 | W10 | [ ] |
| 127 | 502. IPO | Hard | Heap | NC250+ | W17 | [ ] |
| 128 | 480. Sliding Window Median | Hard | Heap | NC250+ | W17 | [ ] |
Backtracking¶
Pattern page: Backtracking · Phase 3
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 129 | 1863. Sum of All Subset XOR Totals | Easy | Backtracking | NC250+ | W17 | [ ] |
| 130 | 78. Subsets | Medium | Backtracking | NC150 | W11 | [ ] |
| 131 | 39. Combination Sum | Medium | Backtracking | NC150 | W11 | [ ] |
| 132 | 40. Combination Sum II | Medium | Backtracking | NC150 | W11 | [ ] |
| 133 | 77. Combinations | Medium | Backtracking | NC250+ | W17 | [ ] |
| 134 | 46. Permutations | Medium | Backtracking | NC150 | W11 | [ ] |
| 135 | 90. Subsets II | Medium | Backtracking | NC150 | W11 | [ ] |
| 136 | 47. Permutations II | Medium | Backtracking | NC250+ | W18 | [ ] |
| 137 | 79. Word Search | Medium | Backtracking | NC150 | W11 | [ ] |
| 138 | 131. Palindrome Partitioning | Medium | Backtracking | NC150 | W11 | [ ] |
| 139 | 17. Letter Combinations of a Phone Number | Medium | Backtracking | NC150 | W11 | [ ] |
| 140 | 473. Matchsticks to Square | Medium | Backtracking | NC250+ | W18 | [ ] |
| 141 | 698. Partition to K Equal Sum Subsets | Medium | Backtracking | NC250+ | W18 | [ ] |
| 142 | 51. N-Queens | Hard | Backtracking | NC150 | W12 | [ ] |
| 143 | 52. N-Queens II | Hard | Backtracking | NC250+ | W18 | [ ] |
| 144 | 37. Sudoku Solver | Hard | Backtracking | NC250+ | W19 | [ ] |
Graphs¶
Pattern page: Graphs · Phase 3
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 145 | 733. Flood Fill | Easy | Graphs | NC250+ | W19 | [ ] |
| 146 | 463. Island Perimeter | Easy | Graphs | NC250+ | W19 | [ ] |
| 147 | 200. Number of Islands | Medium | Graphs | NC150 | W12 | [ ] |
| 148 | 695. Max Area of Island | Medium | Graphs | NC150 | W12 | [ ] |
| 149 | 133. Clone Graph | Medium | Graphs | NC150 | W13 | [ ] |
| 150 | 286. Walls and Gates | Medium | Graphs | NC150 | W13 | [ ] |
| 151 | 994. Rotting Oranges | Medium | Graphs | NC150 | W13 | [ ] |
| 152 | 417. Pacific Atlantic Water Flow | Medium | Graphs | NC150 | W13 | [ ] |
| 153 | 130. Surrounded Regions | Medium | Graphs | NC150 | W13 | [ ] |
| 154 | 207. Course Schedule | Medium | Graphs | NC150 | W13 | [ ] |
| 155 | 210. Course Schedule II | Medium | Graphs | NC150 | W13 | [ ] |
| 156 | 684. Redundant Connection | Medium | Graphs | NC150 | W13 | [ ] |
| 157 | 323. Number of Connected Components in an Undirected Graph | Medium | Graphs | NC150 | W14 | [ ] |
| 158 | 261. Graph Valid Tree | Medium | Graphs | NC150 | W14 | [ ] |
| 159 | 1091. Shortest Path in Binary Matrix | Medium | Graphs | NC250+ | W19 | [ ] |
| 160 | 1466. Reorder Routes to Make All Paths Lead to the City Zero | Medium | Graphs | NC250+ | W20 | [ ] |
| 161 | 399. Evaluate Division | Medium | Graphs | NC250+ | W20 | [ ] |
| 162 | 721. Accounts Merge | Medium | Graphs | NC250+ | W23 | [ ] |
| 163 | 909. Snakes and Ladders | Medium | Graphs | NC250+ | W23 | [ ] |
| 164 | 752. Open the Lock | Medium | Graphs | NC250+ | W23 | [ ] |
| 165 | 127. Word Ladder | Hard | Graphs | NC150 | W14 | [ ] |
Advanced graphs¶
Pattern page: Advanced graphs · Phase 4
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 166 | 743. Network Delay Time | Medium | Advanced graphs | NC150 | W14 | [ ] |
| 167 | 1584. Min Cost to Connect All Points | Medium | Advanced graphs | NC150 | W14 | [ ] |
| 168 | 787. Cheapest Flights Within K Stops | Medium | Advanced graphs | NC150 | W14 | [ ] |
| 169 | 1514. Path with Maximum Probability | Medium | Advanced graphs | NC250+ | W23 | [ ] |
| 170 | 1631. Path With Minimum Effort | Medium | Advanced graphs | NC250+ | W23 | [ ] |
| 171 | 332. Reconstruct Itinerary | Hard | Advanced graphs | NC150 | W14 | [ ] |
| 172 | 778. Swim in Rising Water | Hard | Advanced graphs | NC150 | W14 | [ ] |
| 173 | 269. Alien Dictionary | Hard | Advanced graphs | NC150 | W15 | [ ] |
| 174 | 2392. Build a Matrix With Conditions | Hard | Advanced graphs | NC250+ | W23 | [ ] |
| 175 | 1192. Critical Connections in a Network | Hard | Advanced graphs | NC250+ | W23 | [ ] |
| 176 | 1489. Find Critical and Pseudo-Critical Edges in Minimum Spanning Tree | Hard | Advanced graphs | NC250+ | W23 | [ ] |
DP 1-D¶
Pattern page: DP 1-D · Phase 4
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 177 | 70. Climbing Stairs | Easy | DP 1-D | NC150 | W15 | [ ] |
| 178 | 746. Min Cost Climbing Stairs | Easy | DP 1-D | NC150 | W15 | [ ] |
| 179 | 1137. N-th Tribonacci Number | Easy | DP 1-D | NC250+ | W25 | [ ] |
| 180 | 198. House Robber | Medium | DP 1-D | NC150 | W15 | [ ] |
| 181 | 213. House Robber II | Medium | DP 1-D | NC150 | W15 | [ ] |
| 182 | 5. Longest Palindromic Substring | Medium | DP 1-D | NC150 | W15 | [ ] |
| 183 | 647. Palindromic Substrings | Medium | DP 1-D | NC150 | W15 | [ ] |
| 184 | 91. Decode Ways | Medium | DP 1-D | NC150 | W15 | [ ] |
| 185 | 322. Coin Change | Medium | DP 1-D | NC150 | W16 | [ ] |
| 186 | 152. Maximum Product Subarray | Medium | DP 1-D | NC150 | W16 | [ ] |
| 187 | 139. Word Break | Medium | DP 1-D | NC150 | W16 | [ ] |
| 188 | 300. Longest Increasing Subsequence | Medium | DP 1-D | NC150 | W17 | [ ] |
| 189 | 416. Partition Equal Subset Sum | Medium | DP 1-D | NC150 | W17 | [ ] |
| 190 | 279. Perfect Squares | Medium | DP 1-D | NC250+ | W25 | [ ] |
| 191 | 377. Combination Sum IV | Medium | DP 1-D | NC250+ | W25 | [ ] |
| 192 | 740. Delete and Earn | Medium | DP 1-D | NC250+ | W25 | [ ] |
| 193 | 368. Largest Divisible Subset | Medium | DP 1-D | NC250+ | W25 | [ ] |
| 194 | 354. Russian Doll Envelopes | Hard | DP 1-D | NC250+ | W25 | [ ] |
DP 2-D¶
Pattern page: DP 2-D · Phase 5
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 195 | 62. Unique Paths | Medium | DP 2-D | NC150 | W17 | [ ] |
| 196 | 63. Unique Paths II | Medium | DP 2-D | NC250+ | W25 | [ ] |
| 197 | 64. Minimum Path Sum | Medium | DP 2-D | NC250+ | W25 | [ ] |
| 198 | 1143. Longest Common Subsequence | Medium | DP 2-D | NC150 | W17 | [ ] |
| 199 | 309. Best Time to Buy and Sell Stock with Cooldown | Medium | DP 2-D | NC150 | W17 | [ ] |
| 200 | 518. Coin Change II | Medium | DP 2-D | NC150 | W17 | [ ] |
| 201 | 494. Target Sum | Medium | DP 2-D | NC150 | W17 | [ ] |
| 202 | 97. Interleaving String | Medium | DP 2-D | NC150 | W17 | [ ] |
| 203 | 72. Edit Distance | Medium | DP 2-D | NC150 | W18 | [ ] |
| 204 | 221. Maximal Square | Medium | DP 2-D | NC250+ | W25 | [ ] |
| 205 | 474. Ones and Zeroes | Medium | DP 2-D | NC250+ | W25 | [ ] |
| 206 | 329. Longest Increasing Path in a Matrix | Hard | DP 2-D | NC150 | W18 | [ ] |
| 207 | 115. Distinct Subsequences | Hard | DP 2-D | NC150 | W18 | [ ] |
| 208 | 188. Best Time to Buy and Sell Stock IV | Hard | DP 2-D | NC250+ | W25 | [ ] |
| 209 | 312. Burst Balloons | Hard | DP 2-D | NC150 | W18 | [ ] |
| 210 | 10. Regular Expression Matching | Hard | DP 2-D | NC150 | W18 | [ ] |
Greedy¶
Pattern page: Greedy · Phase 5
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 211 | 860. Lemonade Change | Easy | Greedy | NC250+ | W25 | [ ] |
| 212 | 53. Maximum Subarray | Medium | Greedy | NC150 | W18 | [ ] |
| 213 | 122. Best Time to Buy and Sell Stock II | Medium | Greedy | NC250+ | W26 | [ ] |
| 214 | 918. Maximum Sum Circular Subarray | Medium | Greedy | NC250+ | W26 | [ ] |
| 215 | 978. Longest Turbulent Subarray | Medium | Greedy | NC250+ | W26 | [ ] |
| 216 | 55. Jump Game | Medium | Greedy | NC150 | W18 | [ ] |
| 217 | 45. Jump Game II | Medium | Greedy | NC150 | W18 | [ ] |
| 218 | 134. Gas Station | Medium | Greedy | NC150 | W19 | [ ] |
| 219 | 846. Hand of Straights | Medium | Greedy | NC150 | W19 | [ ] |
| 220 | 1899. Merge Triplets to Form Target Triplet | Medium | Greedy | NC150 | W19 | [ ] |
| 221 | 763. Partition Labels | Medium | Greedy | NC150 | W19 | [ ] |
| 222 | 678. Valid Parenthesis String | Medium | Greedy | NC150 | W19 | [ ] |
| 223 | 1029. Two City Scheduling | Medium | Greedy | NC250+ | W26 | [ ] |
| 224 | 135. Candy | Hard | Greedy | NC250+ | W26 | [ ] |
Intervals¶
Pattern page: Intervals · Phase 5
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 225 | 252. Meeting Rooms | Easy | Intervals | NC150 | W19 | [ ] |
| 226 | 56. Merge Intervals | Medium | Intervals | NC150 | W19 | [ ] |
| 227 | 57. Insert Interval | Medium | Intervals | NC150 | W19 | [ ] |
| 228 | 435. Non-overlapping Intervals | Medium | Intervals | NC150 | W20 | [ ] |
| 229 | 452. Minimum Number of Arrows to Burst Balloons | Medium | Intervals | NC250+ | W26 | [ ] |
| 230 | 253. Meeting Rooms II | Medium | Intervals | NC150 | W20 | [ ] |
| 231 | 986. Interval List Intersections | Medium | Intervals | NC250+ | W26 | [ ] |
| 232 | 1288. Remove Covered Intervals | Medium | Intervals | NC250+ | W26 | [ ] |
| 233 | 729. My Calendar I | Medium | Intervals | NC250+ | W26 | [ ] |
| 234 | 1851. Minimum Interval to Include Each Query | Hard | Intervals | NC150 | W20 | [ ] |
| 235 | 759. Employee Free Time | Hard | Intervals | NC250+ | W26 | [ ] |
Math & bits¶
Pattern page: Math & bits · Phase 5
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 236 | 136. Single Number | Easy | Math & bits | NC150 | W21 | [ ] |
| 237 | 191. Number of 1 Bits | Easy | Math & bits | NC150 | W21 | [ ] |
| 238 | 338. Counting Bits | Easy | Math & bits | NC150 | W21 | [ ] |
| 239 | 190. Reverse Bits | Easy | Math & bits | NC150 | W21 | [ ] |
| 240 | 268. Missing Number | Easy | Math & bits | NC150 | W21 | [ ] |
| 241 | 202. Happy Number | Easy | Math & bits | NC150 | W21 | [ ] |
| 242 | 66. Plus One | Easy | Math & bits | NC150 | W21 | [ ] |
| 243 | 371. Sum of Two Integers | Medium | Math & bits | NC150 | W21 | [ ] |
| 244 | 7. Reverse Integer | Medium | Math & bits | NC150 | W22 | [ ] |
| 245 | 48. Rotate Image | Medium | Math & bits | NC150 | W22 | [ ] |
| 246 | 54. Spiral Matrix | Medium | Math & bits | NC150 | W22 | [ ] |
| 247 | 73. Set Matrix Zeroes | Medium | Math & bits | NC150 | W22 | [ ] |
| 248 | 50. Pow(x, n) | Medium | Math & bits | NC150 | W22 | [ ] |
| 249 | 43. Multiply Strings | Medium | Math & bits | NC150 | W22 | [ ] |
| 250 | 2013. Detect Squares | Medium | Math & bits | NC150 | W22 | [ ] |
| 251 | 201. Bitwise AND of Numbers Range | Medium | Math & bits | NC250+ | W26 | [ ] |
| 252 | 149. Max Points on a Line | Hard | Math & bits | NC250+ | W26 | [ ] |
Concurrency & LLD¶
Pattern page: Concurrency & LLD · Phase 6
| # | Problem | Difficulty | Pattern | Set | Week | Status |
|---|---|---|---|---|---|---|
| 253 | 1114. Print in Order | Easy | Concurrency & LLD | NC250+ | W21 | [ ] |
| 254 | 359. Logger Rate Limiter | Easy | Concurrency & LLD | NC250+ | W21 | [ ] |
| 255 | 1115. Print FooBar Alternately | Medium | Concurrency & LLD | NC250+ | W21 | [ ] |
| 256 | 1116. Print Zero Even Odd | Medium | Concurrency & LLD | NC250+ | W21 | [ ] |
| 257 | 1117. Building H2O | Medium | Concurrency & LLD | NC250+ | W22 | [ ] |
| 258 | 1195. Fizz Buzz Multithreaded | Medium | Concurrency & LLD | NC250+ | W22 | [ ] |
| 259 | 1226. The Dining Philosophers | Medium | Concurrency & LLD | NC250+ | W22 | [ ] |
| 260 | 1188. Design Bounded Blocking Queue | Medium | Concurrency & LLD | NC250+ | W22 | [ ] |
| 261 | 1242. Web Crawler Multithreaded | Medium | Concurrency & LLD | NC250+ | W22 | [ ] |
| 262 | 362. Design Hit Counter | Medium | Concurrency & LLD | NC250+ | W23 | [ ] |
| 263 | 380. Insert Delete GetRandom O(1) | Medium | Concurrency & LLD | NC250+ | W23 | [ ] |
| 264 | 1472. Design Browser History | Medium | Concurrency & LLD | NC250+ | W23 | [ ] |
| 265 | 460. LFU Cache | Hard | Concurrency & LLD | NC250+ | W23 | [ ] |
Notes¶
- Premium LeetCode problems are marked "(Premium)" in each pattern page's insight column. NeetCode.io offers free access to the same problem statements (see the resources). If you do not have access, skip them: none is required for the core set except 271, 286, 323, 261 and 269 (substitute the NeetCode versions).
- LeetCode returns
403to scripted link checks (bot protection), so the problem URLs here were built from the official title slugs, not machine-verified. If a link 404s, search the number on leetcode.com. - Problem 146 (LRU Cache) appears once, under Linked list, and is repeated in the concurrency & LLD lab as an extension exercise.
Questions¶
L1 — Recall¶
Q1. State the spaced-repetition ladder and the pass criterion for retiring a problem.
Answer
Re-solve on day 1, 3, 7, 21 without notes. Retire it after the day-21 solve is done in ≤ 15 minutes with the complexity explained. A failure resets to day 0.
Q2. What is the time-box, and what do you do at its end?
Answer
25-35 minutes (40-45 for Hards). At the end, stop, read or watch one solution, close it, re-implement from memory, then write the key insight. Schedule R1.
Q3. What is the NC150 vs NC250+ distinction in this tracker?
Answer
NC150 is the NeetCode core interview set and is mandatory. NC250+ adds harder variants, Staff-level classics and concurrency/LLD problems, and is done as time allows (buffer weeks absorb overflow).
L2 — Apply¶
Q4. You are 3 days behind at the end of week 6. Re-plan.
Answer
Never drop NC150. Move that week's NC250+ problems into the next buffer or revision week, keep the re-solve queue (it is the highest-value activity), and cut the week's new problems to the ones in patterns due for the next checkpoint. If two weeks behind, push the P1 patterns (tries, advanced graphs, math and bits) into the buffer weeks 25-26.
Q5. Design your personal spreadsheet columns for the spaced-repetition queue.
Answer
Problem id, pattern, first-solved date, ladder step (R0-R4), next-due date (= first-solved + ⅓/7/21 days according to the step), last time (minutes), needed hint (y/n), failure reason (pattern-miss, bug, edge case, complexity). A filter on next-due ≤ today gives the daily queue.
Q6. After a mock you notice most failures are 'edge case bugs', not pattern misses. What do you change?
Answer
Add a mandatory 3-minute test phase to your loop (empty, single, duplicates, max size, negative), keep a personal bug log by category, practise tracing your code line by line instead of re-reading it, and add "edge cases" to the pass criterion of each re-solve.
L3 — Design & trade-offs¶
Q7. Breadth-first (all patterns once) vs depth-first (one pattern to mastery) for 24 weeks?
Answer
Use pattern-by-pattern progression for learning (this plan's phases), and interleave old patterns through the re-solve queue and checkpoint-week mixed sets, because interleaving improves discrimination ("which pattern is this?") and retention. Pure blocking makes every problem look like the current pattern's problem, which does not match real interviews.
Q8. How many problems are enough? Defend a number.
Answer
Around 150-250 well-reviewed problems is a common threshold for pattern fluency, but the number matters less than the quality of review. 150 with proper re-solving beats 500 solved once. Track the leading indicators instead: percent of unseen Mediums solved in 25 minutes without hints, and the failure-cause distribution from mocks.
Q9. How do you use company-tagged problem lists responsibly?
Answer
Use them for the last 2-3 weeks to calibrate difficulty and style, not as a shortcut. Prioritise pattern coverage first. Treat frequency data as weak evidence, since interviewers rotate questions and the tags are self-reported.
L4 — Staff-level ambiguity¶
Q10. You have a Staff loop in 4 weeks and are only at week 12 of this plan. What do you cut and keep?
Answer
Keep: all NC150 in trees, graphs, heap, DP 1-D, intervals and binary search (highest frequency), daily re-solves, and 2-3 mocks per week. Compress: DP 2-D and advanced graphs to the 6-8 most common problems (LCS, edit distance, coin change II, Dijkstra, topological sort, union-find). Drop: math/bit trivia, tries beyond the basic implementation, NC250+ entirely. Add: LLD/concurrency and one system-design mock per week, since Staff loops weigh these heavily. Communicate that trade-off to your recruiter if you need more time, because moving the date is often possible.
Q11. A colleague preparing with you memorises solutions. How do you help them shift?
Answer
Introduce the "explain to a rubber duck without code" exercise, ask them to derive the brute force and identify the inefficiency before reading hints, run mocks with a twist (change a constraint, for example negative numbers or streaming) so memorised solutions fail visibly, and give the re-solve ladder with a strict no-notes rule. The goal is derivation ability, so make that the measured outcome.
Real-world use cases¶
- Personal learning ops: the same tracker-plus-spaced-repetition mechanic works for on-call runbook drills and incident-response practice.
- Team interview prep groups: shared tracker for a peer study cohort (mock rotation).
- Interviewer calibration: if you interview others, the tracker's difficulty ladder helps pick fair problems.
Pitfalls & anti-patterns¶
- Solving a problem once and marking it done.
- Watching solutions first ("passive learning").
- Grinding past the time-box.
- Only practising your strongest patterns.
- No mock interviews (talking aloud is a separate skill).
Checklist¶
- I created my spaced-repetition sheet with due dates
- I use the 25-35 minute time-box on every first attempt
- I completed at least one mock interview every checkpoint week
- I answered all L3 questions out loud in < 3 min each