DSA Notes
Strategic guide to using LeetCode effectively: problem categories, the Blind 75, company-tagged problems, practice strategies, and premium vs free comparison.
Why LeetCode Dominates Interview Prep
LeetCode has become the de facto standard for coding interview preparation. With 2800+ problems, company-specific question banks, and weekly contests, it offers everything you need in one platform. Most FAANG interviewers pull directly from LeetCode or create problems inspired by it. If you solve 200-300 well-chosen problems with deep understanding, you will be prepared for any coding interview.
Problem Categories
LeetCode organizes problems into 15+ categories. Here is what matters most for interviews, ordered by frequency:
Tier 1 (Must Master — Appear in 70% of Interviews)
- Arrays & Hashing: Two sum, group anagrams, product of array except self
- Two Pointers: Container with most water, 3Sum, trapping rain water
- Sliding Window: Longest substring without repeating, minimum window substring
- Binary Search: Search in rotated sorted array, find minimum in rotated sorted array
- Trees: Validate BST, level-order traversal, lowest common ancestor
- Graphs: Number of islands, clone graph, course schedule
Tier 2 (Important — Appear in 40% of Interviews)
- Dynamic Programming: Climbing stairs, longest increasing subsequence, coin change
- Linked Lists: Reverse linked list, merge two sorted lists, detect cycle
- Stack: Valid parentheses, daily temperatures, largest rectangle in histogram
- Heap/Priority Queue: Merge k sorted lists, find median from data stream
Tier 3 (Good to Know — Appear in 20% of Interviews)
- Backtracking: Subsets, permutations, N-Queens
- Tries: Implement trie, word search II
- Bit Manipulation: Single number, counting bits
- Math & Geometry: Rotate image, spiral matrix
The Blind 75
The "Blind 75" is a curated list of 75 LeetCode problems that cover all major patterns. Created by a tech lead who noticed these patterns repeatedly in interviews. If you can solve all 75 fluently, you are well-prepared for most companies.
Breakdown by Category:
- Arrays & Hashing: 9 problems
- Two Pointers: 5 problems
- Sliding Window: 4 problems
- Stack: 3 problems
- Binary Search: 5 problems
- Linked List: 6 problems
- Trees: 11 problems
- Tries: 3 problems
- Heap: 3 problems
- Backtracking: 4 problems
- Graphs: 7 problems
- Dynamic Programming: 11 problems
- Intervals: 4 problems
How to Approach the Blind 75:
- Do them in category order, not random order. Master one pattern before moving to the next.
- Aim for 2-3 problems per day. Consistency beats marathon sessions.
- After each problem, write a one-line summary of the key insight.
- Revisit after 7 days. Spaced repetition is crucial for retention.
NeetCode 150 (Extended Version)
NeetCode expanded the Blind 75 to 150 problems with better coverage. It adds more mediums per category and introduces categories like Intervals, Math, and Bit Manipulation. If you finish the Blind 75, continue with these additions.
Company-Tagged Problems
LeetCode Premium gives access to company tags — which problems were asked at specific companies in the past 6 months. This is extremely valuable 1-2 weeks before an interview.
Company Patterns (General Trends):
- Amazon: Trees, graphs, BFS/DFS, system design concepts, OOP
- Google: Dynamic programming, math, string algorithms, advanced graph problems
- Meta (Facebook): Arrays, strings, binary search, interval problems
- Microsoft: Arrays, strings, trees, linked lists (well-rounded)
- Apple: Arrays, sorting, two pointers, design problems
How to Use Company Tags:
- Filter by your target company
- Sort by frequency (most asked first)
- Focus on problems asked in the last 6 months
- Aim to solve the top 30-40 most frequent
- Do NOT memorize solutions — understand patterns
How to Practice Effectively
The WRONG Way
- Spending 5 minutes, giving up, reading the solution
- Grinding 10 problems per day without understanding
- Only doing Easy problems because they feel good
- Memorizing solutions without understanding why they work
The RIGHT Way
Step 1: Attempt Without Help (25-45 minutes) Really struggle with it. Draw pictures. Try examples. Think about what data structure gives you the right operations.
Step 2: Implement Your Solution Even if it is brute force, implement it. Verify it works on examples. A working brute force teaches more than a peeked optimal solution.
Step 3: Optimize (If Stuck, Read Hints Only) LeetCode provides hints. Use them one at a time. Each hint should unblock your thinking without giving the full answer.
Step 4: If Still Stuck After 45 Minutes, Read the Editorial But do not just read — understand WHY each step works. Then close the editorial and implement from memory.
Step 5: Review After 1, 7, and 30 Days Use spaced repetition. Re-solve the problem from scratch. If you cannot solve it in 15 minutes on review, you did not truly learn it.
The 3-Pass Method
- Pass 1: Solve problems with no time limit. Focus on understanding.
- Pass 2: Solve the same problems with a 25-minute timer. Build speed.
- Pass 3: Explain solutions out loud as if in an interview. Build communication.
Premium vs Free
Free Gives You:
- Full problem set (2800+ problems)
- Basic problem tags and difficulty labels
- Community solutions and discussions
- Weekly contests (excellent for timed practice)
- Basic progress tracking
Premium Adds ($35/month or $159/year):
- Company-specific question banks with frequency data
- Official video solutions from LeetCode team
- Sorting problems by company and recency
- Autocomplete/AI debugging hints
- Access to premium-only problems (~300 problems)
Is Premium Worth It?
Yes, if you are actively interviewing at specific companies in the next 2-3 months. The company tags alone justify the cost — knowing which problems Meta asked last month gives you a significant edge.
No, if you are just building general skills. The free content is more than sufficient for learning patterns. The Blind 75 and NeetCode 150 are available for free.
Contest Strategy on LeetCode
LeetCode runs Weekly and Biweekly contests. Participating helps you:
- Build speed under pressure
- Identify weak areas (which problems do you consistently miss?)
- Track improvement via contest rating
Tips:
- First 2 problems are usually Easy/Medium — solve in 10-15 minutes total
- Problem 3 is typically a tricky Medium — this is where ranking separates
- Problem 4 is Hard — attempt only after finishing 1-3 cleanly
- Contests build time pressure skills that untimed practice cannot
Timeline: From Zero to Interview-Ready
| Week | Focus | Target |
|---|---|---|
| 1-2 | Easy problems, basic patterns | 20 Easy, learn arrays/strings |
| 3-4 | Two pointers, sliding window, binary search | 15 Medium from these categories |
| 5-6 | Trees and graphs (BFS/DFS) | 15 Medium tree/graph problems |
| 7-8 | Dynamic programming basics | 10 Medium DP problems |
| 9-10 | Mixed practice, revisit weak areas | Virtual contests + review |
| 11-12 | Company-specific problems, mock interviews | Top 30 company-tagged + practice speaking |
Exam Focus
Revise definitions, diagrams, examples, and short-answer points for LeetCode Guide for Interview Preparation.
Interview Use
Prepare one clear explanation, one practical example, and one common mistake for this Data Structures & Algorithms topic.
Search Terms
data-structures-algorithms, data structures & algorithms, data, structures, algorithms, competitive, programming, leetcode
Related Data Structures & Algorithms Topics