Choose Your Timeline
1 Week Sprint
2 Week Bootcamp
4 Week Program
8 Week Mastery
1 Week Sprint (7 days)
Time commitment: 4-6 hours/day
Focus: Breadth over depth - recognize patterns quickly
Week 1: Essential Patterns
Day 1: Arrays & Hash Tables (4-5 problems)
Day 1: Arrays & Hash Tables (4-5 problems)
- #017 - Two Sum (Easy, 76.4% frequency)
- Master: Hash map for O(n) lookups
- Pattern: Complement search
- #016 - Merge Intervals (Medium, 77.9% frequency)
- Master: Sorting + greedy merge
- Pattern: Interval overlaps
- #026 - Subarray Sum Equals K (Medium)
- Master: Prefix sums + hash map
- Pattern: Cumulative sum tracking
- #015 - Top K Frequent Elements (Medium, 86.9% frequency)
- Master: Hash map + heap or bucket sort
- Pattern: Frequency counting
- #065 - 3Sum (Medium)
- Master: Sort + two pointers
- Pattern: Fixed + moving pointers
Day 2: Two Pointers & Stack (4-5 problems)
Day 2: Two Pointers & Stack (4-5 problems)
- #029 - Valid Palindrome (Easy)
- Pattern: Opposite-direction pointers
- #004 - Valid Palindrome II (Easy, 92.7% frequency)
- Pattern: Two pointers + greedy choice
- #033 - Merge Sorted Array (Easy)
- Pattern: Two pointers from end
- #020 - Valid Parentheses (Easy, 74.9% frequency)
- Pattern: Stack for matching pairs
- #001 - Min Remove to Make Valid Parentheses (Medium, 100% frequency)
- Pattern: Stack + index tracking
- #008 - Basic Calculator II (Medium, 84.0% frequency)
- Pattern: Stack for operator precedence
Day 3: Binary Search & Trees (4-5 problems)
Day 3: Binary Search & Trees (4-5 problems)
- #042 - Binary Search (Easy)
- Pattern: Classic template
- #010 - Find Peak Element (Medium, 82.9% frequency)
- Pattern: Binary search on unsorted array
- #041 - Kth Missing Positive Number (Easy)
- Pattern: Binary search on answer space
- #014 - Diameter of Binary Tree (Easy)
- Pattern: DFS + global variable
- #007 - Binary Tree Right Side View (Medium, 86.0% frequency)
- Pattern: BFS level order
- #027 - Range Sum of BST (Easy)
- Pattern: BST properties for pruning
Day 4: More Trees & Linked Lists (4-5 problems)
Day 4: More Trees & Linked Lists (4-5 problems)
- #009 - Lowest Common Ancestor (Medium)
- Pattern: Recursive tree traversal
- #003 - Binary Tree Vertical Order Traversal (Medium, 93.4% frequency)
- Pattern: BFS + hash map coordinates
- #013 - Sum Root to Leaf Numbers (Medium)
- Pattern: DFS with accumulated value
- #019 - Merge k Sorted Lists (Hard)
- Pattern: Min heap with k elements
- #032 - Copy List with Random Pointer (Medium)
- Pattern: Hash map for node cloning
Day 5: Design & Dynamic Programming (4-5 problems)
Day 5: Design & Dynamic Programming (4-5 problems)
- #039 - LRU Cache (Medium, 62.4% frequency)
- Pattern: Hash map + doubly linked list
- Master: O(1) get and put operations
- #048 - Moving Average from Data Stream (Easy)
- Pattern: Queue with size limit
- #018 - Best Time to Buy and Sell Stock (Easy, 76.4% frequency)
- Pattern: Track minimum so far
- #087 - Maximum Subarray (Medium)
- Pattern: Kadane’s algorithm
- #075 - Word Break (Medium)
- Pattern: 1D DP with substring check
Day 6: Sliding Window & Graphs (4-5 problems)
Day 6: Sliding Window & Graphs (4-5 problems)
- #080 - Longest Substring Without Repeating (Medium)
- Pattern: Expandable window + hash set
- #040 - Max Consecutive Ones III (Medium)
- Pattern: Window with constraint counter
- #037 - Minimum Window Substring (Hard)
- Pattern: Two hash maps for matching
- #025 - Clone Graph (Medium)
- Pattern: DFS/BFS + hash map cloning
- #063 - Course Schedule (Medium)
- Pattern: Topological sort (cycle detection)
Day 7: Review & Hard Problems (4-5 problems)
Day 7: Review & Hard Problems (4-5 problems)
- Revisit problems you struggled with
- Implement solutions from scratch
- Time yourself (45 min per problem)
- #100 - Median of Two Sorted Arrays (Hard)
- Pattern: Binary search on merged position
- #099 - Best Time to Buy and Sell Stock III (Hard)
- Pattern: State machine DP
- #082 - Find Median from Data Stream (Hard)
- Pattern: Two heaps (max heap + min heap)
- Pick 2 random problems (1 Easy + 1 Medium)
- Solve on whiteboard or in basic editor
- Practice explaining your approach out loud
2 Week Bootcamp (14 days)
Time commitment: 3-4 hours/day
Focus: Pattern recognition and variation handling
Week 1: Foundations
Days 1-2: Arrays & Hashing (8-10 problems)
- #022 - Buildings with Ocean View (Medium)
- #024 - K Closest Points to Origin (Medium)
- #023 - Custom Sort String (Medium)
- #062 - Group Shifted Strings (Medium)
Days 3-4: Two Pointers & Stack (8-10 problems)
- #044 - Squares of a Sorted Array (Easy)
- #073 - Container With Most Water (Medium)
- #035 - Simplify Path (Medium)
- #093 - Decode String (Medium)
- #098 - Remove All Adjacent Duplicates II (Medium)
Days 5-6: Binary Search (8-10 problems)
- #074 - Cutting Ribbons (Medium)
- #079 - Capacity To Ship Packages Within D Days (Medium)
- #094 - Koko Eating Bananas (Medium)
- #084 - Kth Smallest Element in Sorted Matrix (Hard)
- #100 - Median of Two Sorted Arrays (Hard)
Week 2: Advanced Patterns
Days 8-9: Trees & BST (10-12 problems)
- All problems from 1-Week Sprint Days 3-4
- Add: #061 - Vertical Order Traversal (Hard)
- Add: #066 - All Nodes Distance K (Medium)
- Add: #076 - Binary Tree Maximum Path Sum (Hard)
- #060 - Closest BST Value (Easy)
- #092 - Kth Smallest Element in BST (Medium)
- #051 - BST Iterator (Medium)
Days 10-11: Linked Lists & Graphs (8-10 problems)
- #054 - Add Two Numbers (Medium)
- #045 - Remove Nth Node From End (Medium)
- #064 - Insert into Sorted Circular Linked List (Medium)
- #031 - Shortest Path in Binary Matrix (Medium)
- #036 - Making A Large Island (Hard)
- #070 - Swim in Rising Water (Hard)
- #081 - Word Ladder (Hard)
Days 12-13: DP & Sliding Window (10-12 problems)
- All from 1-Week Sprint Day 5
- #096 - Longest Palindromic Substring (Medium)
- #057 - Palindromic Substrings (Medium)
- #083 - Valid Palindrome III (Hard)
- #099 - Best Time to Buy and Sell Stock III (Hard)
- All from 1-Week Sprint Day 6
- #059 - Continuous Subarray Sum (Medium)
- #068 - Contains Duplicate II (Easy)
- #090 - Frequency of Most Frequent Element (Medium)
Day 14: Mock Interviews & Hard Problems
- 1 Medium from each: Arrays, Trees, DP
- Time limit: 45 minutes each
- Write clean, working code
- #053 - Robot Room Cleaner (Hard)
- #034 - Sliding Window Median (Hard)
- Focus on implementation details
- Review your progress
- Note patterns you’re confident with
- Identify 2-3 areas needing more practice
4 Week Program (28 days)
Time commitment: 2-3 hours/day
Focus: Mastery through repetition and variation
Week 1: Core Fundamentals
Full Week 1 Breakdown
Full Week 1 Breakdown
- All Easy array problems for warm-up
- Progress to Medium frequency counting
- Master hash map patterns: lookup, frequency, grouping
- Same-direction vs opposite-direction pointers
- Fast-slow pointer technique
- Applications: palindromes, arrays, linked lists
- Matching pairs (parentheses variants)
- Expression evaluation (calculators)
- Monotonic stack applications
- Implement 5 problems from scratch
- Create your own cheat sheet
- Practice identifying which pattern to use
Week 2: Search & Trees
Full Week 2 Breakdown
Full Week 2 Breakdown
- Classic binary search variants
- Binary search on answer space
- Minimization/maximization problems
- 2D matrix search problems
- Tree traversals (DFS: preorder, inorder, postorder)
- BFS level-order applications
- BST-specific problems (utilizing sorted property)
- Tree construction and modification
- Solve 3 new problems (1 Easy, 1 Medium, 1 Hard)
- Time yourself strictly
- Focus on clean code and edge cases
Week 3: Advanced Data Structures & Algorithms
Full Week 3 Breakdown
Full Week 3 Breakdown
- Graph representation (adjacency list/matrix)
- DFS for cycle detection and connectivity
- BFS for shortest paths
- Topological sorting
- K-th largest/smallest problems
- Merge k sorted structures
- Running median with two heaps
- Custom comparators
- Data structure design (LRU Cache, etc.)
- Stream processing
- Iterator patterns
- Choose data structures for O(1) operations
Week 4: Dynamic Programming & Advanced Topics
Full Week 4 Breakdown
Full Week 4 Breakdown
- 1D DP (house robber, climbing stairs pattern)
- 2D DP (grid problems, longest common patterns)
- State machine DP (stock problems)
- Palindrome DP problems
- Fixed-size windows
- Variable-size windows with constraints
- Two hash maps for pattern matching
- Advanced: nested sliding windows
- Revisit your 10 most difficult problems
- Implement without looking at solutions
- Ensure you can explain the approach clearly
- Morning: 2 Medium problems (90 min total)
- Afternoon: 1 Hard problem (60 min)
- Evening: System design discussion for top problems
- Record yourself to review communication
8 Week Mastery (56 days)
Time commitment: 1.5-2 hours/day
Focus: Deep understanding, multiple solutions, pattern variations
Weeks 1-2: Foundation Building
Week 1: Easy Problems
- Focus on implementation speed
- Multiple approaches for each
- Aim for bug-free first submissions
Week 2: Core Patterns
- Deep dive into when to use each pattern
- Create pattern recognition flashcards
- Practice explaining to others
Weeks 3-4: Search & Trees
Week 3: Binary Search Mastery
- Search on data vs answer space
- Minimization vs maximization
- Handling duplicates and edge cases
Week 4: Tree Expertise
- Master all traversal techniques
- Understand tree recursion deeply
- Connect tree problems to graph problems
Weeks 5-6: Graphs & Advanced Data Structures
Week 5: Graph Algorithms
- Implement from scratch multiple times
- Understand time/space trade-offs
- Practice on different representations
Week 6: Heap & Design
- Focus on system design aspects
- Understand when heaps are optimal
- Practice O(1) operation designs
Weeks 7-8: Dynamic Programming & Mastery
Week 7: Dynamic Programming Deep Dive
- Identify DP vs Greedy
- Master state transitions
- Understand space optimization
- Practice bottom-up and top-down
Week 8: Comprehensive Review & Hard Problems
- Focus on implementation complexity
- Handle edge cases gracefully
- Optimize for readability and efficiency
- Solve 10 random problems (mixed difficulty)
- Simulate interview conditions
- No hints or solutions lookups
- 3 Easy problems in 45 minutes
- 2 Medium problems in 60 minutes
- Should feel straightforward
- 1 Hard problem with full implementation
- Multiple test cases
- Edge case analysis
- Complexity optimization discussion
- Review your journey
- Identify your strongest patterns
- Note areas for continued practice
- Celebrate your achievement!
Study Tips for All Plans
Active Learning Techniques
Active Learning Techniques
- Try for at least 20-30 minutes before looking
- If stuck, look at hints only, not full solution
- After seeing solution, implement from scratch
- Pretend you’re in an interview
- Explain your approach before coding
- Justify complexity and space usage
- Keep a notebook of patterns
- Write down when each pattern applies
- Create your own problem-to-pattern mappings
Time Management
Time Management
- Easy: 15-20 minutes
- Medium: 30-45 minutes
- Hard: 45-60 minutes
- Warm up with easier problem (10 min)
- Focus time on new problems (60-90 min)
- Review previous problems (20-30 min)
- Read solutions/discussions (10-15 min)
- Days 1-5: Learn new patterns
- Day 6: Mixed practice from the week
- Day 7: Review + mock interview
Dealing with Frustration
Dealing with Frustration
- Take a 5-minute break
- Re-read the problem constraints
- Draw examples on paper
- Think about similar problems you’ve solved
- Look up the pattern (not the solution)
- It’s okay to look at the solution
- Understand the key insight you were missing
- Retry the problem 2 days later
- Most people need 2-3 attempts to master hard problems
- Struggle means you’re learning
- Your first solution doesn’t need to be optimal
- Pattern recognition improves with practice
Tracking Progress
Tracking Progress
- Problems that took >2x expected time
- Problems you couldn’t solve
- Problems with interesting optimizations
- Problems with patterns you’re weak on
- ✅ First Easy problem solved
- ✅ 10 problems completed
- ✅ First Medium without hints
- ✅ 50 problems mastered
- ✅ First Hard problem solved
- ✅ 100 problems conquered!