# 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.