466 lines
11 KiB
Markdown
466 lines
11 KiB
Markdown
# Weekly Schedule Template
|
|
|
|
## Week 1: Array Basics and Two Pointers
|
|
**Focus**: Master fundamental array operations and two pointers pattern
|
|
|
|
### Monday (May 17, 2026)
|
|
**Topic**: Array Basics Introduction
|
|
**Problems to Solve**:
|
|
1. Linear search in array
|
|
2. Find maximum/minimum in array
|
|
3. Array frequency counting
|
|
4. Basic array transformations
|
|
|
|
**Learning Resources**:
|
|
- Review `docs/01-foundations/array-basics.md`
|
|
- Practice with simple array problems
|
|
|
|
**Daily Goal**: 4 problems, 100% success rate
|
|
|
|
### Tuesday (May 18, 2026)
|
|
**Topic**: Two Pointers Fundamentals
|
|
**Problems to Solve**:
|
|
1. `twoSum` - Easy ✅
|
|
2. `maxArea` - Medium ✅
|
|
3. Basic two pointer practice (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Study `docs/01-foundations/two-pointers.md`
|
|
- Focus on opposite direction pointers
|
|
|
|
**Daily Goal**: 4 problems, understand movement logic
|
|
|
|
### Wednesday (May 19, 2026)
|
|
**Topic**: Array Transformations
|
|
**Problems to Solve**:
|
|
1. `sortedSquares` - Medium ✅
|
|
2. `intersection` - Easy ✅
|
|
3. Array rotation problems (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Practice two pointers on transformed arrays
|
|
- Study time complexity analysis
|
|
|
|
**Daily Goal**: 4 problems, master transformation logic
|
|
|
|
### Thursday (May 20, 2026)
|
|
**Topic**: Search Algorithms
|
|
**Problems to Solve**:
|
|
1. `binarySearch` - Easy ✅
|
|
2. `toGetClosestPoint` - Medium ✅
|
|
3. Binary search variations (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Study `docs/01-foundations/binary-search.md`
|
|
- Practice different search patterns
|
|
|
|
**Daily Goal**: 4 problems, O(log n) complexity
|
|
|
|
### Friday (May 21, 2026)
|
|
**Topic**: String Algorithms
|
|
**Problems to Solve**:
|
|
1. `isPalindrome` - Easy ✅
|
|
2. `isIsomorphic` - Medium ✅
|
|
3. String matching problems (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Apply two pointers to strings
|
|
- Study character frequency patterns
|
|
|
|
**Daily Goal**: 4 problems, string pattern mastery
|
|
|
|
### Saturday (May 22, 2026)
|
|
**Topic**: Advanced String Processing
|
|
**Problems to Solve**:
|
|
1. `backspaceCompare` - Medium ✅
|
|
2. `compress` - Medium ✅
|
|
3. Mixed string problems (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Study stack-based string processing
|
|
- Practice edge cases
|
|
|
|
**Daily Goal**: 4 problems, 80%+ success rate
|
|
|
|
### Sunday (May 23, 2026)
|
|
**Topic**: Week 1 Review
|
|
**Activities**:
|
|
- Review all solved problems
|
|
- Update `docs/progress.md`
|
|
- Complete daily practice log
|
|
- Identify weak areas for week 2
|
|
|
|
**Weekly Goal**: 28 problems completed
|
|
**Success Rate Target**: 85%+
|
|
|
|
---
|
|
|
|
## Week 2: Two Pointers Mastery and Binary Search
|
|
**Focus**: Deep dive into two pointers and binary search variations
|
|
|
|
### Monday (May 24, 2026)
|
|
**Topic**: Two Pointers Advanced
|
|
**Problems to Solve**:
|
|
1. Three sum problem
|
|
2. Remove duplicates from sorted array
|
|
3. Two pointers on unsorted arrays (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Advanced two pointers patterns
|
|
- Sliding window introduction
|
|
|
|
**Daily Goal**: 4 problems, understand optimization
|
|
|
|
### Tuesday (May 25, 2026)
|
|
**Topic**: Container Problems
|
|
**Problems to Solve**:
|
|
1. Trapping rain water
|
|
2. Container with most water variations
|
|
3. Subarray problems (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Study container optimization
|
|
- Practice area calculations
|
|
|
|
**Daily Goal**: 4 problems, master container logic
|
|
|
|
### Wednesday (May 26, 2026)
|
|
**Topic**: Binary Search Variations
|
|
**Problems to Solve**:
|
|
1. Search in rotated sorted array
|
|
2. Find minimum in rotated array
|
|
3. Binary search on answers (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Study `docs/01-foundations/binary-search.md`
|
|
- Practice search space reduction
|
|
|
|
**Daily Goal**: 4 problems, O(log n) mastery
|
|
|
|
### Thursday (May 27, 2026)
|
|
**Topic**: Fast/Slow Pointers
|
|
**Problems to Solve**:
|
|
1. Linked list cycle detection
|
|
2. Find duplicate number
|
|
3. Cycle detection variations (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Study Floyd's cycle detection
|
|
- Practice pointer movement
|
|
|
|
**Daily Goal**: 4 problems, cycle detection mastery
|
|
|
|
### Friday (May 28, 2026)
|
|
**Topic**: Prefix Sum Introduction
|
|
**Problems to Solve**:
|
|
1. Range sum queries
|
|
2. Prefix sum array construction
|
|
3. Subarray sum equals K (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Study `docs/01-foundations/prefix-sums.md`
|
|
- Practice range queries
|
|
|
|
**Daily Goal**: 4 problems, O(1) range queries
|
|
|
|
### Saturday (May 29, 2026)
|
|
**Topic**: Combined Patterns
|
|
**Problems to Solve**:
|
|
1. Binary search + two pointers
|
|
2. Prefix sum + sliding window
|
|
3. Mixed pattern problems (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Combine multiple patterns
|
|
- Practice pattern recognition
|
|
|
|
**Daily Goal**: 4 problems, pattern combination
|
|
|
|
### Sunday (May 30, 2026)
|
|
**Topic**: Week 2 Review
|
|
**Activities**:
|
|
- Review week 2 concepts
|
|
- Update progress tracking
|
|
- Practice weak areas
|
|
- Plan week 3
|
|
|
|
**Weekly Goal**: 28 problems completed
|
|
**Success Rate Target**: 80%+
|
|
|
|
---
|
|
|
|
## Week 3: String Patterns and Hash Tables
|
|
**Focus**: Master string algorithms and hash table fundamentals
|
|
|
|
### Monday (May 31, 2026)
|
|
**Topic**: String Fundamentals
|
|
**Problems to Solve**:
|
|
1. Reverse string
|
|
2. Valid palindrome
|
|
3. String rotation problems (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- String manipulation patterns
|
|
- Two pointers for strings
|
|
|
|
**Daily Goal**: 4 problems, string mastery
|
|
|
|
### Tuesday (June 1, 2026)
|
|
**Topic**: String Matching
|
|
**Problems to Solve**:
|
|
1. Longest substring without repeating chars
|
|
2. Minimum window substring
|
|
3. Pattern matching problems (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Sliding window for strings
|
|
- Hash tables for character tracking
|
|
|
|
**Daily Goal**: 4 problems, O(n) string algorithms
|
|
|
|
### Wednesday (June 2, 2026)
|
|
**Topic**: Hash Table Basics
|
|
**Problems to Solve**:
|
|
1. Two sum with hash map
|
|
2. Contains duplicate
|
|
3. Frequency counting problems (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Hash table fundamentals
|
|
- Time complexity analysis
|
|
|
|
**Daily Goal**: 4 problems, O(1) lookups
|
|
|
|
### Thursday (June 3, 2026)
|
|
**Topic**: Hash Table Advanced
|
|
**Problems to Solve**:
|
|
1. Group anagrams
|
|
2. Hash map + two pointers
|
|
3. Advanced hash problems (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Complex hash table patterns
|
|
- Multiple data structures
|
|
|
|
**Daily Goal**: 4 problems, hash optimization
|
|
|
|
### Friday (June 4, 2026)
|
|
**Topic**: Data Structure Validation
|
|
**Problems to Solve**:
|
|
1. `isValidSudoku` - Medium ✅
|
|
2. `isDevided11` - Medium ✅
|
|
3. Validation problems (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Constraint satisfaction
|
|
- Grid validation patterns
|
|
|
|
**Daily Goal**: 4 problems, validation mastery
|
|
|
|
### Saturday (June 5, 2026)
|
|
**Topic**: Combined String and Hash
|
|
**Problems to Solve**:
|
|
1. Longest substring with at most K distinct chars
|
|
2. String hash problems (2 problems)
|
|
3. Mixed pattern problems (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Combine string and hash patterns
|
|
- Practice optimization
|
|
|
|
**Daily Goal**: 4 problems, pattern combination
|
|
|
|
### Sunday (June 6, 2026)
|
|
**Topic**: Week 3 Review
|
|
**Activities**:
|
|
- Review string and hash concepts
|
|
- Update progress tracking
|
|
- Practice interview-style problems
|
|
- Plan week 4
|
|
|
|
**Weekly Goal**: 28 problems completed
|
|
**Success Rate Target**: 80%+
|
|
|
|
---
|
|
|
|
## Week 4: Dynamic Programming Introduction
|
|
**Focus**: Introduction to dynamic programming concepts
|
|
|
|
### Monday (June 7, 2026)
|
|
**Topic**: DP Fundamentals
|
|
**Problems to Solve**:
|
|
1. Fibonacci sequence
|
|
2. Climbing stairs
|
|
3. Basic DP problems (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- DP patterns: memoization vs tabulation
|
|
- Time/space complexity analysis
|
|
|
|
**Daily Goal**: 4 problems, DP introduction
|
|
|
|
### Tuesday (June 8, 2026)
|
|
**Topic**: 1D Dynamic Programming
|
|
**Problems to Solve**:
|
|
1. House robber
|
|
2. Maximum subarray
|
|
3. 1D DP problems (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- State definition
|
|
- Transition equations
|
|
- Space optimization
|
|
|
|
**Daily Goal**: 4 problems, 1D DP mastery
|
|
|
|
### Wednesday (June 9, 2026)
|
|
**Topic**: DP Optimization
|
|
**Problems to Solve**:
|
|
1. Coin change (unbounded knapsack)
|
|
2. Longest common subsequence
|
|
3. DP optimization problems (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- Space optimization techniques
|
|
- State compression
|
|
|
|
**Daily Goal**: 4 problems, DP optimization
|
|
|
|
### Thursday (June 10, 2026)
|
|
**Topic**: DP on Strings
|
|
**Problems to Solve**:
|
|
1. Word break
|
|
2. Edit distance
|
|
3. String DP problems (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- DP for string problems
|
|
- 2D DP patterns
|
|
|
|
**Daily Goal**: 4 problems, string DP mastery
|
|
|
|
### Friday (June 11, 2026)
|
|
**Topic**: DP Review and Practice
|
|
**Problems to Solve**:
|
|
1. DP review problems
|
|
2. Mixed DP problems
|
|
3. Interview-style DP (2 problems)
|
|
|
|
**Learning Resources**:
|
|
- DP pattern recognition
|
|
- Optimization techniques
|
|
|
|
**Daily Goal**: 4 problems, DP pattern mastery
|
|
|
|
### Saturday (June 12, 2026)
|
|
**Topic**: Month 1 Review
|
|
**Activities**:
|
|
- Complete month 1 assessment
|
|
- Review all concepts
|
|
- Update progress tracking
|
|
- Identify areas for improvement
|
|
|
|
**Monthly Goal**: 112 problems completed
|
|
**Success Rate Target**: 80%+
|
|
|
|
### Sunday (June 13, 2026)
|
|
**Topic**: Rest and Planning
|
|
**Activities**:
|
|
- Rest day
|
|
- Plan month 2 goals
|
|
- Review weak areas
|
|
- Prepare for advanced topics
|
|
|
|
---
|
|
|
|
## Monthly Review Template
|
|
|
|
### Month 1 Summary
|
|
**Total Problems**: 112 problems
|
|
**Success Rate**: [Calculate percentage]
|
|
**Patterns Mastered**: Array basics, two pointers, binary search, strings, hash tables, DP introduction
|
|
**Time Spent**: [Hours]
|
|
**Key Achievements**:
|
|
- [List major accomplishments]
|
|
- [Patterns mastered]
|
|
- [Improvements noted]
|
|
|
|
**Areas for Improvement**:
|
|
- [Weak areas identified]
|
|
- [Concepts needing more practice]
|
|
- [Speed/accuracy targets]
|
|
|
|
### Month 2 Goals
|
|
- **Focus**: Intermediate patterns and advanced topics
|
|
- **Target**: 112 problems, 85%+ success rate
|
|
- **Key Areas**: Graph algorithms, tree algorithms, advanced DP
|
|
- **Practice**: More interview-style problems
|
|
|
|
---
|
|
|
|
## Daily Practice Template
|
|
|
|
For each day, use this structure:
|
|
|
|
### Date (Week X, Day Y)
|
|
**Today's Focus**: [Main topic/pattern]
|
|
**Problems Solved**:
|
|
1. [Problem Name] - [Difficulty] ✅/❌
|
|
- Pattern: [Pattern name]
|
|
- Time: [Complexity], Space: [Complexity]
|
|
- Learning: [Key insights]
|
|
2. [Problem Name] - [Difficulty] ✅/❌
|
|
- Pattern: [Pattern name]
|
|
- Time: [Complexity], Space: [Complexity]
|
|
- Learning: [Key insights]
|
|
|
|
**Key Insights**:
|
|
- [Main takeaways from today]
|
|
- [Surprising findings]
|
|
- [Important connections]
|
|
|
|
**Struggles**:
|
|
- [Areas where you had difficulty]
|
|
- [Concepts that were confusing]
|
|
|
|
**Questions for Review**:
|
|
- [Things to clarify later]
|
|
- [Concepts needing more practice]
|
|
|
|
**Tomorrow's Plan**:
|
|
- [Next day's focus areas]
|
|
- [Specific problems to practice]
|
|
- [Review topics]
|
|
|
|
---
|
|
|
|
## Tips for Success
|
|
|
|
### 1. Consistency
|
|
- Practice daily, even if only 1-2 problems
|
|
- Don't skip days
|
|
- Review regularly
|
|
|
|
### 2. Quality over Quantity
|
|
- Focus on understanding, not just completion
|
|
- Review solutions and learn new approaches
|
|
- Document insights
|
|
|
|
### 3. Pattern Recognition
|
|
- Identify patterns in problems
|
|
- Group similar problems
|
|
- Learn common approaches
|
|
|
|
### 4. Time Management
|
|
- Set realistic daily goals
|
|
- Track progress and adjust
|
|
- Don't spend too much time on one problem
|
|
|
|
### 5. Review and Reflect
|
|
- Weekly reviews help identify weak areas
|
|
- Monthly reviews show overall progress
|
|
- Adjust plan based on performance
|
|
|
|
---
|
|
|
|
**Note**: This schedule is flexible. Adjust based on your progress, learning style, and available time. The key is consistent practice and continuous learning. |