# 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