Files
algorithms/docs/weekly-schedule.md

11 KiB

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%+


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.