Comprehensive implementation of all Blind 75 problems organized by patterns
⚠️ Accuracy note (2026-07-07): the counts in the status table below are aspirational/approximate, not a verified tally — treat them as a rough coverage sketch, not ground truth. For the VERIFIED state (files present, tests passing, tsc clean) seePROBLEM_INDEX.md, and for the pattern-by-pattern study material seePATTERNS_REVISION_GUIDE.md. This file is a planning/checklist document; the two linked docs are the source of truth.
| Pattern | Problems | Status | Files |
|---|---|---|---|
| Two Pointers | 8 | ✅ Complete | 2Pointers/ |
| Sliding Window | 30+ | ✅ Complete | SlidingWindow/ |
| Hash Map/Set | 25+ | ✅ Complete | HashMap/ |
| Binary Search | 12 | ✅ Complete | BinarySearch/ |
| Dynamic Programming | 15 | ✅ Complete | DynamicProgramming/ |
| Tree Traversal | 17 | ✅ Complete | TreeTraversal/ |
When to Use: Sorted arrays, palindromes, pair problems
Time: O(n) | Space: O(1)
| Problem | Difficulty | LeetCode | Status |
|---|---|---|---|
| Two Sum (sorted) | Easy | 167 | ✅ |
| 3Sum | Medium | 15 | ✅ |
| Container With Most Water | Medium | 11 | ✅ |
| Trapping Rain Water | Hard | 42 | ✅ |
| Valid Palindrome | Easy | 125 | ✅ |
| Move Zeros | Easy | 283 | ✅ |
| 4Sum | Medium | 18 | ✅ |
| Squares of Sorted Array | Easy | 977 | ✅ |
When to Use: Contiguous subarrays/substrings, optimization
Time: O(n) | Space: O(1) or O(k)
- Maximum Sum Subarray of Size K
- First Negative in Every Window
- Count Anagrams of Pattern
- Maximum of All Subarrays
- Average of All Subarrays
- Find All Anagrams
- Longest Substring Without Repeating Characters
- Longest Substring with K Distinct Characters
- Minimum Window Substring
- Longest Subarray with Sum Constraints
- Fruit Into Baskets
- Character Replacement
- Subarray Product Less Than K
- Maximum Points from Cards
- Longest Repeating Character Replacement
- Subarray Sum Equals K
- Container With Most Water
- Trapping Rain Water
- 3Sum/4Sum Problems
- Remove Duplicates
- Sort Colors
- Valid Palindrome
- Two Sum (sorted)
- Squares of Sorted Array
- Remove Element
- Move Zeroes
- Is Subsequence
- Longest Consecutive Sequence
When to Use: O(1) lookups, frequency counting, duplicates
Time: O(n) | Space: O(n)
- Contains Duplicate
- Two Sum
- Valid Anagram
- Group Anagrams
- Intersection of Two Arrays
- Happy Number
- Single Number
- Find Duplicate
- Missing Number
- Find Disappeared Numbers
- Jewels and Stones
- Unique Email Addresses
- Two Sum (with Map)
- Top K Frequent Elements
- First Unique Character
- Word Pattern
- Isomorphic Strings
- Subarray Sum Equals K
- Contiguous Array
- Longest Substring Without Repeating
- Minimum Window Substring
- LRU Cache
- Logger Rate Limiter
- Underground System
- Longest Consecutive Sequence
When to Use: Sorted arrays, search optimization
Time: O(log n) | Space: O(1)
| Problem | Difficulty | LeetCode | Status |
|---|---|---|---|
| Binary Search | Easy | 704 | ✅ |
| Search Insert Position | Easy | 35 | ✅ |
| Find First and Last Position | Medium | 34 | ✅ |
| Search in Rotated Sorted Array | Medium | 33 | ✅ |
| Find Minimum in Rotated Array | Medium | 153 | ✅ |
| Find Peak Element | Medium | 162 | ✅ |
| Search 2D Matrix | Medium | 74 | ✅ |
| Koko Eating Bananas | Medium | 875 | ✅ |
| Find Duplicate (Binary Search) | Medium | 287 | ✅ |
| Median of Two Sorted Arrays | Hard | 4 | ✅ |
| Sqrt(x) | Easy | 69 | ✅ |
| Valid Perfect Square | Easy | 367 | ✅ |
When to Use: Optimization, counting ways, subproblems
Time: O(n) or O(n²) | Space: O(n) or O(n²)
| Problem | Difficulty | LeetCode | Status |
|---|---|---|---|
| Climbing Stairs | Easy | 70 | ✅ |
| House Robber | Medium | 198 | ✅ |
| House Robber II | Medium | 213 | ✅ |
| Longest Increasing Subsequence | Medium | 300 | ✅ |
| Longest Common Subsequence | Medium | 1143 | ✅ |
| Word Break | Medium | 139 | ✅ |
| Coin Change | Medium | 322 | ✅ |
| Unique Paths | Medium | 62 | ✅ |
| Unique Paths II | Medium | 63 | ✅ |
| Jump Game | Medium | 55 | ✅ |
| Jump Game II | Medium | 45 | ✅ |
| Decode Ways | Medium | 91 | ✅ |
| Maximum Product Subarray | Medium | 152 | ✅ |
| Maximum Subarray (Kadane's) | Easy | 53 | ✅ |
| Edit Distance | Hard | 72 | ✅ |
When to Use: Tree problems, hierarchical data
Time: O(n) | Space: O(h) where h is height
| Problem | Difficulty | LeetCode | Status |
|---|---|---|---|
| Maximum Depth of Binary Tree | Easy | 104 | ✅ |
| Same Tree | Easy | 100 | ✅ |
| Invert Binary Tree | Easy | 226 | ✅ |
| Binary Tree Level Order | Medium | 102 | ✅ |
| Binary Tree Zigzag Level Order | Medium | 103 | ✅ |
| Binary Tree Maximum Path Sum | Hard | 124 | ✅ |
| Lowest Common Ancestor | Medium | 236 | ✅ |
| Validate Binary Search Tree | Medium | 98 | ✅ |
| Kth Smallest in BST | Medium | 230 | ✅ |
| Construct Tree from Preorder/Inorder | Medium | 105 | ✅ |
| Construct Tree from Inorder/Postorder | Medium | 106 | ✅ |
| Serialize and Deserialize Binary Tree | Hard | 297 | ✅ |
| Subtree of Another Tree | Easy | 572 | ✅ |
| Path Sum | Easy | 112 | ✅ |
| Path Sum II | Medium | 113 | ✅ |
| Binary Tree Right Side View | Medium | 199 | ✅ |
| Count Complete Tree Nodes | Medium | 222 | ✅ |
// Import specific pattern
import { twoSum, threeSum } from './2Pointers';
import { maxSumSubarrayOfSizeK } from './SlidingWindow';
import { containsDuplicate } from './HashMap';# Run all tests
npm test
# Run specific pattern tests
npm test -- --grep "Two Pointers"
npm test -- --grep "Sliding Window"Each pattern folder contains:
- Implementation files with detailed solutions
- Test files with comprehensive test cases
- README.md with pattern explanations and templates
- index.ts for easy imports
- Two Pointers - Master the squeeze technique
- Hash Map/Set - Understand O(1) lookups
- Binary Search - Learn divide and conquer
- Sliding Window - Master subarray problems
- Dynamic Programming - Understand optimization
- Tree Traversal - Master hierarchical data
- Solve problems from each pattern
- Focus on time/space complexity
- Practice explaining solutions
- Array/String problems → Two Pointers or Sliding Window
- Need O(1) lookups → Hash Map/Set
- Sorted array search → Binary Search
- Optimization problems → Dynamic Programming
- Tree problems → DFS/BFS traversal
- "How would you optimize this?" → Think about patterns
- "What's the time complexity?" → Know your patterns
- "Can you solve this in O(n)?" → Use appropriate pattern
- Solve by pattern - Don't jump around
- Understand the template - Master the approach
- Time yourself - Practice under pressure
- Explain out loud - Practice communication
- LeetCode: Practice problems online
- Pattern Recognition: Study the templates
- Time Complexity: Master Big O analysis
- Space Optimization: Learn trade-offs
- Pattern Recognition: Can identify pattern in 30 seconds
- Implementation: Can code solution in 15 minutes
- Optimization: Can improve time/space complexity
- Explanation: Can explain solution clearly
Total Problems Implemented: 100+
Patterns Covered: 6 major patterns
Test Coverage: 100%
Ready for Interviews: ✅
This implementation covers all essential Blind 75 problems organized by patterns, making it perfect for coding interview preparation!