DSA Problem List
105 problems: all 75 from the default Grind 75 list plus 30 extras that fill pattern gaps (monotonic stack, union-find, Dijkstra, LIS/LCS/edit distance, greedy) and Week 3 mixed practice.
Track progress in the tracker (status, time, notes and redo dates). Easy problems are warm-ups at 5.5 YOE: if the solution is obvious, code it fast or skip it. Status, time and mistake notes live in tracker/interview_prep_tracker.xlsx.
LeetCode links were built from problem slugs from memory; fix any that 404.
Week 1
Day 1 — Wed 21 Oct · Arrays & hashing, two pointers
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 1 | Two Sum | Easy | Arrays & hashing | Grind 75 |
| ☐ | 2 | Valid Anagram | Easy | Arrays & hashing | Grind 75 |
| ☐ | 3 | Contains Duplicate | Easy | Arrays & hashing | Grind 75 |
| ☐ | 4 | Valid Palindrome | Easy | Two pointers | Grind 75 |
| ☐ | 5 | Product of Array Except Self | Medium | Arrays & hashing | Grind 75 |
| ☐ | 6 | 3Sum | Medium | Two pointers | Grind 75 |
| ☐ | 7 | Container With Most Water | Medium | Two pointers | Grind 75 |
| ☐ | 8 | Sort Colors | Medium | Two pointers | Grind 75 |
Day 2 — Thu 22 Oct · Sliding window
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 9 | Best Time to Buy and Sell Stock | Easy | Sliding window | Grind 75 |
| ☐ | 10 | Maximum Subarray | Medium | Sliding window | Grind 75 |
| ☐ | 11 | Longest Substring Without Repeating Characters | Medium | Sliding window | Grind 75 |
| ☐ | 12 | Find All Anagrams in a String | Medium | Sliding window | Grind 75 |
| ☐ | 13 | Minimum Window Substring | Hard | Sliding window | Grind 75 |
Day 3 — Fri 23 Oct · Binary search (incl. on the answer)
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 14 | Binary Search | Easy | Binary search | Grind 75 |
| ☐ | 15 | First Bad Version | Easy | Binary search | Grind 75 |
| ☐ | 16 | Search in Rotated Sorted Array | Medium | Binary search | Grind 75 |
| ☐ | 17 | Time Based Key-Value Store | Medium | Binary search | Grind 75 |
| ☐ | 18 | Koko Eating Bananas | Medium | Binary search | Extra |
Day 4 — Sat 24 Oct · Stacks, monotonic stacks & heaps
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 19 | Valid Parentheses | Easy | Stack | Grind 75 |
| ☐ | 20 | Implement Queue using Stacks | Easy | Stack | Grind 75 |
| ☐ | 21 | Min Stack | Medium | Stack | Grind 75 |
| ☐ | 22 | Evaluate Reverse Polish Notation | Medium | Stack | Grind 75 |
| ☐ | 23 | Daily Temperatures | Medium | Stack | Extra |
| ☐ | 24 | Largest Rectangle in Histogram | Hard | Stack | Grind 75 |
| ☐ | 25 | K Closest Points to Origin | Medium | Heap | Grind 75 |
| ☐ | 26 | Top K Frequent Elements | Medium | Heap | Extra |
| ☐ | 27 | Task Scheduler | Medium | Heap | Grind 75 |
| ☐ | 28 | Merge k Sorted Lists | Hard | Heap | Grind 75 |
| ☐ | 29 | Find Median from Data Stream | Hard | Heap | Grind 75 |
Day 5 — Sun 25 Oct · Linked lists & trees
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 30 | Merge Two Sorted Lists | Easy | Linked list | Grind 75 |
| ☐ | 31 | Linked List Cycle | Easy | Linked list | Grind 75 |
| ☐ | 32 | Reverse Linked List | Easy | Linked list | Grind 75 |
| ☐ | 33 | Middle of the Linked List | Easy | Linked list | Grind 75 |
| ☐ | 34 | Invert Binary Tree | Easy | Tree | Grind 75 |
| ☐ | 35 | Maximum Depth of Binary Tree | Easy | Tree | Grind 75 |
| ☐ | 36 | Balanced Binary Tree | Easy | Tree | Grind 75 |
| ☐ | 37 | Diameter of Binary Tree | Easy | Tree | Grind 75 |
| ☐ | 38 | Lowest Common Ancestor of a BST | Medium | Tree | Grind 75 |
| ☐ | 39 | Binary Tree Level Order Traversal | Medium | Tree | Grind 75 |
| ☐ | 40 | Validate Binary Search Tree | Medium | Tree | Grind 75 |
| ☐ | 41 | Kth Smallest Element in a BST | Medium | Tree | Grind 75 |
| ☐ | 42 | Lowest Common Ancestor of a Binary Tree | Medium | Tree | Grind 75 |
| ☐ | 43 | Binary Tree Right Side View | Medium | Tree | Grind 75 |
Day 6 — Mon 26 Oct · Timed mock: mixed set
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 44 | Spiral Matrix | Medium | Matrix | Grind 75 |
| ☐ | 45 | String to Integer (atoi) | Medium | String | Grind 75 |
| ☐ | 46 | Add Binary | Easy | String | Grind 75 |
| ☐ | 47 | LRU Cache | Medium | Design | Grind 75 |
Day 7 — Tue 27 Oct · Review misses + leftover easies
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 48 | Ransom Note | Easy | Arrays & hashing | Grind 75 |
| ☐ | 49 | Majority Element | Easy | Arrays & hashing | Grind 75 |
| ☐ | 50 | Longest Palindrome | Easy | Arrays & hashing | Grind 75 |
Week 2
Day 8 — Wed 28 Oct · Graphs: BFS/DFS, topological sort
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 51 | Flood Fill | Easy | Graph | Grind 75 |
| ☐ | 52 | Number of Islands | Medium | Graph | Grind 75 |
| ☐ | 53 | Rotting Oranges | Medium | Graph | Grind 75 |
| ☐ | 54 | 01 Matrix | Medium | Graph | Grind 75 |
| ☐ | 55 | Clone Graph | Medium | Graph | Grind 75 |
| ☐ | 56 | Course Schedule | Medium | Graph | Grind 75 |
Day 9 — Thu 29 Oct · Graphs: union-find, Dijkstra
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 57 | Accounts Merge | Medium | Union-find | Grind 75 |
| ☐ | 58 | Redundant Connection | Medium | Union-find | Extra |
| ☐ | 59 | Network Delay Time | Medium | Dijkstra | Extra |
| ☐ | 60 | Minimum Height Trees | Medium | Graph | Grind 75 |
| ☐ | 61 | Word Ladder | Hard | Graph | Grind 75 |
Day 10 — Fri 30 Oct · DP: 1D & 2D grid
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 62 | Climbing Stairs | Easy | DP | Grind 75 |
| ☐ | 63 | House Robber | Medium | DP | Extra |
| ☐ | 64 | Coin Change | Medium | DP | Grind 75 |
| ☐ | 65 | Unique Paths | Medium | DP | Grind 75 |
Day 11 — Sat 31 Oct · DP: knapsack, LIS, strings
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 66 | Partition Equal Subset Sum | Medium | DP | Grind 75 |
| ☐ | 67 | Longest Increasing Subsequence | Medium | DP | Extra |
| ☐ | 68 | Word Break | Medium | DP | Grind 75 |
| ☐ | 69 | Longest Palindromic Substring | Medium | DP | Grind 75 |
| ☐ | 70 | Longest Common Subsequence | Medium | DP | Extra |
| ☐ | 71 | Edit Distance | Medium | DP | Extra |
| ☐ | 72 | Maximum Profit in Job Scheduling | Hard | DP | Grind 75 |
Day 12 — Sun 01 Nov · Backtracking, tries, intervals, greedy
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 73 | Subsets | Medium | Backtracking | Grind 75 |
| ☐ | 74 | Permutations | Medium | Backtracking | Grind 75 |
| ☐ | 75 | Combination Sum | Medium | Backtracking | Grind 75 |
| ☐ | 76 | Letter Combinations of a Phone Number | Medium | Backtracking | Grind 75 |
| ☐ | 77 | Word Search | Medium | Backtracking | Grind 75 |
| ☐ | 78 | Implement Trie (Prefix Tree) | Medium | Trie | Grind 75 |
| ☐ | 79 | Insert Interval | Medium | Intervals | Grind 75 |
| ☐ | 80 | Merge Intervals | Medium | Intervals | Grind 75 |
| ☐ | 81 | Jump Game | Medium | Greedy | Extra |
Day 13 — Mon 02 Nov · Timed mock: mixed set
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 82 | Construct Binary Tree from Preorder and Inorder Traversal | Medium | Tree | Grind 75 |
| ☐ | 83 | Kth Largest Element in an Array | Medium | Heap | Extra |
| ☐ | 84 | Trapping Rain Water | Hard | Two pointers | Grind 75 |
| ☐ | 85 | Serialize and Deserialize Binary Tree | Hard | Tree | Grind 75 |
Day 14 — Tue 03 Nov · Mixed practice
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 86 | Basic Calculator | Hard | Stack | Grind 75 |
| ☐ | 87 | Group Anagrams | Medium | Arrays & hashing | Extra |
| ☐ | 88 | Longest Consecutive Sequence | Medium | Arrays & hashing | Extra |
Week 3
Day 15 — Wed 04 Nov · Mixed practice
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 89 | Sliding Window Maximum | Hard | Sliding window | Extra |
| ☐ | 90 | Decode Ways | Medium | DP | Extra |
| ☐ | 91 | Pacific Atlantic Water Flow | Medium | Graph | Extra |
Day 16 — Thu 05 Nov · Mixed practice
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 92 | Gas Station | Medium | Greedy | Extra |
| ☐ | 93 | Maximal Square | Medium | DP | Extra |
| ☐ | 94 | Course Schedule II | Medium | Graph | Extra |
Day 17 — Fri 06 Nov · Mixed practice
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 95 | Find Minimum in Rotated Sorted Array | Medium | Binary search | Extra |
| ☐ | 96 | Non-overlapping Intervals | Medium | Intervals | Extra |
| ☐ | 97 | House Robber II | Medium | DP | Extra |
Day 18 — Sat 07 Nov · Mixed timed practice
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 98 | Rotate Image | Medium | Matrix | Extra |
| ☐ | 99 | Set Matrix Zeroes | Medium | Matrix | Extra |
| ☐ | 100 | Remove Nth Node From End of List | Medium | Linked list | Extra |
| ☐ | 101 | Word Search II | Hard | Trie | Extra |
Day 19 — Sun 08 Nov · Mixed timed practice
| Done | # | Problem | Difficulty | Pattern | Source |
|---|---|---|---|---|---|
| ☐ | 102 | Reorder List | Medium | Linked list | Extra |
| ☐ | 103 | Copy List with Random Pointer | Medium | Linked list | Extra |
| ☐ | 104 | Path Sum III | Medium | Tree | Extra |
| ☐ | 105 | Binary Tree Maximum Path Sum | Hard | Tree | Extra |