[AI] build roadmap for learning
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
# Daily Practice Log
|
||||
|
||||
## 2026-05-17 - Week 1, Day 1
|
||||
|
||||
**Today's Focus**: Array basics and linear operations
|
||||
**Learning Phase**: Phase 1, Week 1 - Foundations
|
||||
**Difficulty Level**: Easy (Focus on understanding)
|
||||
|
||||
### Problems Solved Today
|
||||
|
||||
#### 1. Array Basics - Linear Search
|
||||
**Problem**: Find target in unsorted array
|
||||
**Approach**: Simple linear traversal
|
||||
**Time Complexity**: O(n)
|
||||
**Space Complexity**: O(1)
|
||||
**Learning Points**:
|
||||
- Linear search is straightforward for small arrays
|
||||
- Important to check array bounds first
|
||||
- Early termination when found improves average case
|
||||
|
||||
#### 2. Array Basics - Frequency Counting
|
||||
**Problem**: Count occurrences of each element
|
||||
**Approach**: Use hash map for frequency tracking
|
||||
**Time Complexity**: O(n)
|
||||
**Space Complexity**: O(n)
|
||||
**Learning Points**:
|
||||
- Hash maps are perfect for frequency counting
|
||||
- Need to handle empty array case
|
||||
- Can use array indices if elements are within range
|
||||
|
||||
#### 3. Array Basics - Find Minimum/Maximum
|
||||
**Problem**: Find min and max in array
|
||||
**Approach**: Single pass comparison
|
||||
**Time Complexity**: O(n)
|
||||
**Space Complexity**: O(1)
|
||||
**Learning Points**:
|
||||
- Can find both in one traversal
|
||||
- Initialize with first element
|
||||
- Update when finding smaller/larger values
|
||||
|
||||
### Key Learnings
|
||||
1. **Array traversal patterns**: Start with simple loops, understand index management
|
||||
2. **Basic operations**: Search, count, find min/max are fundamental building blocks
|
||||
3. **Edge cases**: Always consider empty arrays, single element arrays
|
||||
4. **Time complexity**: Linear time is acceptable for basic operations on small datasets
|
||||
|
||||
### Questions & Insights
|
||||
- **Question**: When should I use linear search vs binary search?
|
||||
**Answer**: Linear search for unsorted data, binary search for sorted data
|
||||
- **Insight**: Basic array operations are simple but crucial for understanding more complex algorithms
|
||||
- **Aha moment**: Frequency counting is the foundation for many hash map problems
|
||||
|
||||
### Tomorrow's Plan
|
||||
**Focus**: Two pointers fundamentals
|
||||
**Target Problems**:
|
||||
1. Basic two sum (sorted array)
|
||||
2. Container with most water
|
||||
3. Array intersection (sorted)
|
||||
|
||||
### Repository Connection
|
||||
**Related algorithms in lib/**:
|
||||
- `twoSum` - Two pointers approach
|
||||
- `maxArea` - Container with most water
|
||||
- `intersection` - Array intersection
|
||||
|
||||
---
|
||||
|
||||
**Practice Time**: 45 minutes
|
||||
**Problems Completed**: 3
|
||||
**Difficulty**: Easy (3/3)
|
||||
**Success Rate**: 100%
|
||||
**Next Steps**: Practice more array basics, move to two pointers tomorrow
|
||||
Reference in New Issue
Block a user