π 40-Day DSA Learning Schedule
Browse all days and see the primary + related problems for each pattern
You are currently on Day 25
Loading...
Hash Tables (Base)
Arrays & Hashing β’ Oct 23
π― Primary Problem
RequiredTwo Sum
Easyπ Master hash table lookups and complement pattern
πSolve on LeetCodeπ‘ Related Problems
Same Pattern - OptionalContains Duplicate
π Simplest hash table usage - checking existence
Valid Anagram
π Hash table for character frequency counting
Group Anagrams
π Advanced: hash table with sorted strings as keys
π Learning Resources
Hash Tables (Frequency Counter)
Arrays & Hashing β’ Oct 24
π― Primary Problem
RequiredSparse Arrays
Easyπ Master frequency counting with hash maps
πSolve on HackerRankπ‘ Related Problems
Same Pattern - OptionalTop K Frequent Elements
π Frequency counting + sorting/heap for top K
Valid Sudoku
π Multiple hash sets for row/col/box validation
Encode and Decode Strings
π String manipulation with delimiters
Two Pointers (Base)
Two Pointers β’ Oct 25
π― Primary Problem
RequiredValid Palindrome
Easyπ Master two pointer technique from both ends
πSolve on LeetCodeπ‘ Related Problems
Same Pattern - OptionalTwo Sum II - Input Array Is Sorted
π Two pointers on sorted array for target sum
3Sum
π Advanced: combining sorting + two pointers
Container With Most Water
π Two pointers with greedy decision making
Two Pointers (Advanced)
Two Pointers β’ Oct 26
π― Primary Problem
RequiredTrapping Rain Water
Hardπ Master complex two pointer with height tracking
πSolve on LeetCodeπ‘ Related Problems
Same Pattern - OptionalRemove Duplicates from Sorted Array
π In-place modification with two pointers
Move Zeroes
π Two pointers for in-place array modification
Remove Element
π Similar pattern for removing specific values
Sliding Window (Fixed)
Sliding Window β’ Oct 27
π― Primary Problem
RequiredMax Subarray Sum (Fixed Size)
Easyπ Master fixed-size sliding window technique
πSolve on LeetCodeπ‘ Related Problems
Same Pattern - OptionalBest Time to Buy and Sell Stock
π Single pass with tracking min/max - sliding window variant
Contains Duplicate II
π Sliding window with hash set for duplicates in range
Number of Sub-arrays of Size K
π Practice fixed window pattern
Sliding Window (Variable)
Sliding Window β’ Oct 28
π― Primary Problem
RequiredLongest Substring Without Repeating Characters
Mediumπ Master variable-size sliding window with hash set
πSolve on LeetCodeπ‘ Related Problems
Same Pattern - OptionalLongest Repeating Character Replacement
π Variable window + frequency counter
Minimum Window Substring
π Most complex sliding window problem
Permutation in String
π Fixed window with character frequency matching
Stack (Base)
Stack β’ Oct 29
π― Primary Problem
RequiredValid Parentheses
Easyπ Master stack for matching pairs pattern
πSolve on LeetCodeπ‘ Related Problems
Same Pattern - OptionalMin Stack
π Stack with O(1) min tracking
Evaluate Reverse Polish Notation
π Stack for postfix expression evaluation
Implement Queue using Stacks
π Understanding stack operations deeply
Binary Search (Base)
Binary Search β’ Oct 30
π― Primary Problem
RequiredBinary Search
Easyπ Master iterative binary search template
πSolve on LeetCodeπ‘ Related Problems
Same Pattern - OptionalSearch Insert Position
π Binary search variant for finding insert position
Find First and Last Position
π Binary search for range boundaries
Search in Rotated Sorted Array
π Advanced binary search with rotation
Binary Search (Advanced)
Binary Search β’ Oct 31
π― Primary Problem
RequiredFind Minimum in Rotated Sorted Array
Mediumπ Binary search on rotated arrays
πSolve on LeetCodeπ‘ Related Problems
Same Pattern - OptionalSearch a 2D Matrix
π Binary search on 2D array (treat as 1D)
Koko Eating Bananas
π Binary search on answer space (not on array)
Time Based Key-Value Store
π Binary search with hash map for timestamp lookup
Linked List (Base)
Linked List β’ Nov 1
π― Primary Problem
RequiredReverse Linked List
Easyπ Master linked list pointer manipulation
πSolve on LeetCodeπ‘ Related Problems
Same Pattern - OptionalMerge Two Sorted Lists
π Linked list merging with two pointers
Linked List Cycle
π Floyd's cycle detection (fast & slow pointers)
Middle of the Linked List
π Fast & slow pointer to find middle
Linked List (Two Pointers)
Linked List β’ Nov 2
π― Primary Problem
RequiredRemove Nth Node From End
Mediumπ Two pointer technique in linked lists
πSolve on LeetCodeπ‘ Related Problems
Same Pattern - OptionalReorder List
π Combining multiple patterns: find middle, reverse, merge
Palindrome Linked List
π Find middle + reverse + compare
Intersection of Two Linked Lists
π Two pointer technique for finding intersection
Trees (Traversal)
Trees β’ Nov 3
π― Primary Problem
RequiredBinary Tree Inorder Traversal
Easyπ Master tree traversal (iterative & recursive)
πSolve on LeetCodeπ‘ Related Problems
Same Pattern - OptionalInvert Binary Tree
π Simple recursion on trees
Maximum Depth of Binary Tree
π DFS for tree depth calculation
Same Tree
π Tree comparison using DFS
Trees (DFS)
Trees β’ Nov 4
π― Primary Problem
RequiredDiameter of Binary Tree
Easyπ DFS with return value pattern
πSolve on LeetCodeπ‘ Related Problems
Same Pattern - OptionalBalanced Binary Tree
π DFS to check tree balance
Subtree of Another Tree
π Nested DFS for subtree matching
Path Sum
π DFS with running sum
Trees (BFS)
Trees β’ Nov 5
π― Primary Problem
RequiredBinary Tree Level Order Traversal
Mediumπ Master BFS with queue for level-by-level traversal
πSolve on LeetCodeπ‘ Related Problems
Same Pattern - OptionalBinary Tree Right Side View
π BFS variant - get last node of each level
Binary Tree Zigzag Level Order
π BFS with alternating direction
Minimum Depth of Binary Tree
π BFS to find shortest path to leaf
π‘ How to Use This Schedule
- β’ Today: Focus on the current day (highlighted in purple)
- β’ Primary Problem: This is required to maintain your streak
- β’ Related Problems: Optional practice to master the pattern
- β’ Past Days: Green badges - you can still solve these for practice
- β’ Future Days: Gray badges - these unlock as you progress
- β’ Quick Nav: Use the day buttons at the bottom to jump to any day