Provide a 6 week practice schedule with daily problem targets

Here is a focused 6-week DSA practice schedule with daily problem targets to maximize your preparation efficiency. It balances learning, practice, and review across topics and difficulty levels

GOOGLE

Week 1: Fundamentals & Arrays

  • Monday: 3 easy array problems (e.g., Find max/min, Check sorted)

  • Tuesday: 3 easy string problems (e.g., Palindrome, Anagram)

  • Wednesday: 2 medium array problems (e.g., Two Sum, Product except self)

  • Thursday: 2 easy linked list problems (e.g., Reverse list, Detect cycle)

  • Friday: 3 easy stack/queue problems (e.g., Implement stack, Queue using stacks)

  • Saturday: Review & redo problems from this week

  • Sunday: Rest or explore related concepts/videos

Week 2: Intermediate Arrays, Strings, Linked Lists

  • Monday: 3 medium array problems (e.g., Merge Intervals, Search rotated sorted array)

  • Tuesday: 3 medium string problems (e.g., Longest substring without repeating chars)

  • Wednesday: 3 medium linked list problems (e.g., Merge sorted lists)

  • Thursday: 3 medium stack and queue problems (Next greater element, Sliding window maximum)

  • Friday: 2 easy tree problems (Binary tree traversals)

  • Saturday: Review and redo problems from week 2

  • Sunday: Rest or quizzes on concepts learned

Week 3: Trees & Graphs Basics

  • Monday: 3 medium tree problems (Inorder, Preorder, Postorder traversals)

  • Tuesday: 2 medium BFS/DFS problems (Number of islands, Connected components)

  • Wednesday: 2 hard tree problems (Lowest common ancestor, Tree diameter)

  • Thursday: 3 medium graph problems (Cycle detection, Course schedule)

  • Friday: 1 hard graph problem (Strongly connected components)

  • Saturday: Review & redo complex tree/graph problems

  • Sunday: Rest or videos/read explanations on graph algorithms

Week 4: Sorting, Searching & Hashing

  • Monday: 3 easy sorting/searching problems (Binary search, Merge intervals)

  • Tuesday: 3 medium hashing problems (First non-repeating char, Longest consecutive sequence)

  • Wednesday: 2 medium sorting problems (Kth element of two sorted arrays)

  • Thursday: 2 hard caching problems (LRU Cache implementation)

  • Friday: 2 medium bit manipulation problems

  • Saturday: Review & redo sorting and hashing

  • Sunday: Rest or quizzes on sorting/searching/hash functions

Week 5: Dynamic Programming

  • Monday: 3 easy DP problems (Climbing stairs, Fibonacci)

  • Tuesday: 2 medium DP problems (Coin change, Longest increasing subsequence)

  • Wednesday: 2 medium DP problems (Longest common subsequence, Partition equal subset sum)

  • Thursday: 1 hard DP problem (Egg dropping puzzle)

  • Friday: 1 hard DP problem (Matrix chain multiplication)

  • Saturday: Review and revisit challenging DP problems

  • Sunday: Rest or study alternate DP approaches

Week 6: Mixed Revision & Mock Tests

  • Monday: Mixed easy/medium problems from arrays, strings

  • Tuesday: Mixed problems from linked lists, stacks, queues

  • Wednesday: Mixed problems from trees, graphs

  • Thursday: Mixed sorting, searching, hashing problems

  • Friday: Mixed DP problems

  • Saturday: Full-length mock interview/problem set under timed conditions

  • Sunday: Review mock test, analyze mistakes, finalize preparation

Daily Problem Target: Solve 2-4 problems daily depending on difficulty, spend quality time understanding patterns, writing clean code, and analyzing optimized solutions.

Review: Allocate 1 day per week for review and reinforce weak areas.

This structured plan promotes steady progress and confidence building for technical interviews centered on DSA.