[AI] build roadmap for learning
This commit is contained in:
@@ -0,0 +1,466 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user