YouTube Tools

Striver's A2Z DSA Course: study plan and how long it takes

The take U forward playlist is 315 videos and 114.5 hours long. Here's how long it takes at different paces, a week-by-week schedule built from the real videos, and a planner that turns it into your own daily plan.

315 videos · 114.5 hours · take U forward

Striver's A2Z DSA course from take U forward is one of the most followed DSA playlists for placement and interview preparation. It goes from C++ basics to graphs and dynamic programming, and pairs with the A2Z sheet on takeuforward.org.

At 114.5 hours it is a serious commitment, and the videos are only part of it: every problem is meant to be solved yourself after watching. A plan stops it from becoming a playlist you are always "halfway through".

Who it's for: Students preparing for placements and developers preparing for coding interviews. Basic programming in C++ or Java helps, though the first videos cover C++ basics.

How long does it take?

The full playlist is 114.5 hours across 315 videos. Here's roughly how many days that is at different daily watch times and speeds, counting video time only:

Days to finish the playlist by daily watch time and playback speed
Daily timeAt 1xAt 1.5xAt 2x
30 min a day230 days153 days115 days
1 h a day115 days77 days58 days
2 h a day58 days39 days29 days

Make your own schedule

The playlist link is already filled in. Press Plan, set how much time you have each day and your speed, and you'll get a day-by-day schedule with a finish date and a calendar file. It reads the live playlist, so new videos are included.

Week-by-week schedule

A sample plan at 2 hours a day and normal speed, using whole videos so none is split across days. That's 10 weeks in total. For a different pace, start date or speed, use the planner above.

Week 1Videos 1–17 · 11h 24m
  1. Day 1 · 1h 44m

    • 1Don't watch my A2Z DSA Course8m
    • 2How to setup VS code for DSA and CP | Input / Output split format9m
    • 3C++ Basics in One Shot - Strivers A2Z DSA Course - L11h 26m
  2. Day 2 · 1h 57m

    • 4Time and Space Complexity - Strivers A2Z DSA Course35m
    • 5Solve any Pattern Question - Trick Explained | 22 Patterns in 1 Shot | Strivers A2Z DSA Course1h 22m
  3. Day 3 · 1h 8m

    • 6Complete C++ STL in 1 Video | Time Complexity and Notes1h 8m
  4. Day 4 · 1h 48m

    • 7Basic Maths for DSA | Euclidean Algorithm | Strivers A2Z DSA Course1h 3m
    • 8Re 1. Introduction to Recursion | Recursion Tree | Stack Space | Strivers A2Z DSA Course23m
    • 9Re 2. Problems on Recursion | Strivers A2Z DSA Course22m
  5. Day 5 · 1h 55m

    • 10Re 3. Parameterised and Functional Recursion | Strivers A2Z DSA Course18m
    • 11Re 4. Problems on Functional Recursion | Strivers A2Z DSA Course20m
    • 12Re 5. Multiple Recursion Calls | Problems | Strivers A2Z DSA Course17m
    • 13Hashing | Maps | Time Complexity | Collisions | Division Rule of Hashing | Strivers A2Z DSA Course1h
  6. Day 6 · 1h 33m

    • 14Sorting - Part 1 | Selection Sort, Bubble Sort, Insertion Sort | Strivers A2Z DSA Course44m
    • 15Merge Sort | Algorithm | Pseudocode | Dry Run | Code | Strivers A2Z DSA Course50m
  7. Day 7 · 1h 19m

    • 16Quick Sort For Beginners | Strivers A2Z DSA Course35m
    • 17Find Second Largest Element in Array | Remove duplicates from Sorted Array | Arrays Intro Video43m
Week 2Videos 18–45 · 12h 52m
  1. Day 8 · 1h 51m

    • 18Rotate Array by K places | Union, Intersection of Sorted Arrays | Move Zeros to End | Arrays Part-21h 13m
    • 19Find element that appears once | Find missing number | Max Consecutive number of 1's | Arrays Part-338m
  2. Day 9 · 1h 43m

    • 20Longest Subarray with sum K | Brute - Better - Optimal | Generate Subarrays42m
    • 212 Sum Problem | 2 types of the same problem for Interviews | Brute-Better-Optimal18m
    • 22Sort an array of 0's 1's & 2's | Intuition of Algo🔥 | C++ Java Python | Brute-Better-Optimal25m
    • 23Majority Element I | Brute-Better-Optimal | Moore's Voting Algorithm | Intuition 🔥|Brute to Optimal18m
  3. Day 10 · 1h 54m

    • 24Kadane's Algorithm | Maximum Subarray Sum | Finding and Printing20m
    • 25DP 35. Best Time to Buy and Sell Stock | DP on Stocks 🔥9m
    • 26Rearrange Array Elements by Sign | 2 Varieties of same Problem22m
    • 27Next Permutation - Intuition in Detail 🔥 | Brute to Optimal28m
    • 28Leaders in an Array | Brute - Optimal | Strivers A2Z DSA Course12m
    • 29Longest Consecutive Sequence | Google Interview Question | Brute Better Optimal23m
  4. Day 11 · 1h 55m

    • 30Set Matrix Zeroes | O(1) Space Approach | Brute - Better - Optimal30m
    • 31Rotate Matrix/Image by 90 Degrees | Brute - Optimal18m
    • 32Spiral Traversal of a Matrix | Spiral Matrix17m
    • 33Count Subarray sum Equals K | Brute - Better -Optimal24m
    • 34Pascal Triangle | Finding nCr in minimal time27m
  5. Day 12 · 1h 59m

    • 35Majority Element II | Brute-Better-Optimal27m
    • 363 Sum | Brute - Better - Optimal with Codes38m
    • 374 Sum | Brute - Better - Optimal with Codes29m
    • 38Number of Subarrays with xor K | Brute - Better - Optimal25m
  6. Day 13 · 1h 38m

    • 39Merge Overlapping Intervals | Brute, Optimal with Precise TC analysis23m
    • 40Merge Sorted Arrays Without Extra Space | 2 Optimal Solution33m
    • 41Find the Missing and Repeating Number | 4 Approaches 🔥42m
  7. Day 14 · 1h 51m

    • 42Count Inversions in an Array | Brute and Optimal24m
    • 43Reverse Pairs | Hard Interview Question32m
    • 44Maximum Product Subarray - Best Intuitive Approach Discussed20m
    • 45BS-1. Binary Search Introduction | Real Life Example | Iterative | Recursive | Overflow Cases33m
Week 3Videos 46–94 · 13h 9m
  1. Day 15 · 1h 49m

    • 46BS-2. Implement Lower Bound and Upper Bound | Search Insert Position | Floor and Ceil32m
    • 47BS-3. First and Last Occurrences in Array | Count occurrences in Array25m
    • 48BS-4. Search Element in Rotated Sorted Array - I17m
    • 49BS-5. Search Element in Rotated Sorted Array II13m
    • 50BS-6. Minimum in Rotated Sorted Array17m
    • 51BS-7. Find out how many times array has been rotated5m
  2. Day 16 · 1h 54m

    • 52BS-8. Single Element in Sorted Array22m
    • 53BS-9. Find Peak Element33m
    • 54BS-10. Finding Sqrt of a number using Binary Search17m
    • 55BS-11. Find the Nth root of an Integer21m
    • 56BS-12. Koko Eating Bananas21m
  3. Day 17 · 1h 52m

    • 57BS-13. Minimum days to make M bouquets | Binary Search26m
    • 58BS-14. Find the Smallest Divisor Given a Threshold | Binary Search16m
    • 59BS-15. Capacity to Ship Packages within D Days21m
    • 60BS-16. Kth Missing Positive Number | Maths + Binary Search23m
    • 61BS-17. Aggressive Cows | Binary Search Hard27m
  4. Day 18 · 1h 54m

    • 62BS-18. Allocate Books or Book Allocation | Hard Binary Search27m
    • 63BS 19. Painter's Partition and Split Array - Largest Sum11m
    • 64BS-20. Minimise Maximum Distance between Gas Stations | 3 Approaches | Heap | Binary Search59m
    • 65BS 21: Median of two Sorted Arrays of Different Sizes | Brute and Better Approach16m
  5. Day 19 · 1h 48m

    • 66BS-21. Median of two Sorted Arrays of Different Sizes | Binary Search Approach With Intuition35m
    • 67Bs-22. K-th element of two sorted arrays | Binary Search Approach12m
    • 68BS 23. Row with maximum number of 1s | Binary Search on 2D Arrays10m
    • 69BS-24. Search in a 2D Matrix - I | Binary Search of 2D16m
    • 70BS-25. Search in a 2D Matrix - II | Binary Search on 2D15m
    • 71BS-26. Find Peak Element-II | Binary Search20m
  6. Day 20 · 1h 56m

    • 72BS-27. Median in a Row Wise Sorted Matrix23m
    • 73L1. Introduction to Trees | Types of Trees10m
    • 74L2. Binary Tree Representation in C++5m
    • 75L3. Binary Tree Representation in Java4m
    • 76L4. Binary Tree Traversals in Binary Tree | BFS | DFS10m
    • 77L5. Preorder Traversal of Binary Tree | C++ | Java | Code Explanation7m
    • 78L6. Inorder Traversal of Binary Tree | C++ | Java | Code Explanation7m
    • 79L7. Postorder Traversal of Binary Tree | C++ | Java | Code Explanation6m
    • 80L8. Level Order Traversal of Binary Tree | BFS | C++ | Java9m
    • 81L9. Iterative Preorder Traversal in Binary Tree | C++ | Java | Stack7m
    • 82L10. iterative Inorder Traversal in Binary Tree | C++ | Java | Stack11m
    • 83L11. Iterative Postorder Traversal using 2 Stack | C++ | Java | Binary Tree4m
    • 84L12. Iterative Postorder Traversal using 1 Stack | C++ | Java | Binary Trees13m
  7. Day 21 · 1h 55m

    • 85L13. Preorder Inorder Postorder Traversals in One Traversal | C++ | Java | Stack | Binary Trees11m
    • 86L14. Maximum Depth in Binary Tree | Height of Binary Tree | C++ | Java8m
    • 87L15. Check for Balanced Binary Tree | C++ | Java13m
    • 88L16. Diameter of Binary Tree | C++ | Java14m
    • 89L17. Maximum Path Sum in Binary Tree | C++ | Java18m
    • 90L18. Check it two trees are Identical or Not | C++ | Java4m
    • 91L19. Zig-Zag or Spiral Traversal in Binary Tree | C++ | Java8m
    • 92L20. Boundary Traversal in Binary Tree | C++ | Java10m
    • 93L21. Vertical Order Traversal of Binary Tree | C++ | Java19m
    • 94L22. Top View of Binary Tree | C++ | Java11m
Week 4Videos 95–144 · 12h 50m
  1. Day 22 · 1h 58m

    • 95L23. Bottom View of Binary Tree | C++ | Java13m
    • 96L24. Right/Left View of Binary Tree | C++ | Java13m
    • 97L25. Check for Symmetrical Binary Trees | C++ | Java9m
    • 98L26. Print Root to Node Path in Binary Tree | C++ | Java11m
    • 99L27. Lowest Common Ancestor in Binary Tree | LCA | C++ | Java14m
    • 100L28. Maximum Width of Binary Tree | C++ | Java23m
    • 101L29. Children Sum Property in Binary Tree | O(N) Approach | C++ | Java16m
    • 102L30. Print all the Nodes at a distance of K in Binary Tree | C++ | Java18m
  2. Day 23 · 1h 39m

    • 103L31. Minimum time taken to BURN the Binary Tree from a Node | C++ | Java18m
    • 104L32. Count total Nodes in a COMPLETE Binary Tree | O(Log^2 N) Approach | C++ | Java16m
    • 105L33. Requirements needed to construct a Unique Binary Tree | Theory9m
    • 106L34. Construct a Binary Tree from Preorder and Inorder Traversal | C++ | Java19m
    • 107L35. Construct the Binary Tree from Postorder and Inorder Traversal | C++ | Java20m
    • 108L36. Serialize and De-serialize Binary Tree | C++ | Java17m
  3. Day 24 · 1h 54m

    • 109L37. Morris Traversal | Preorder | Inorder | C++ | Java24m
    • 110L38. Flatten a Binary Tree to Linked List | 3 Approaches | C++ | Java22m
    • 111L39. Introduction to Binary Search Tree | BST9m
    • 112L40. Search in a Binary Search Tree | BST | C++ | Java7m
    • 113L41. Ceil in a Binary Search Tree | BST | C++ | Java6m
    • 114L42. Floor in a Binary Search Tree | BST | C++ | Java5m
    • 115L43. Insert a given Node in Binary Search Tree | BST | C++ | Java8m
    • 116L44. Delete a Node in Binary Search Tree | BST | C++ | Java16m
    • 117L45. K-th Smallest/Largest Element in BST8m
    • 118L46. Check if a tree is a BST or BT | Validate a BST10m
  4. Day 25 · 1h 52m

    • 119L47. LCA in Binary Search Tree8m
    • 120L48. Construct a BST from a preorder traversal | 3 Methods17m
    • 121L49. Inorder Successor/Predecessor in BST | 3 Methods11m
    • 122L50. Binary Search Tree Iterator | BST | O(H) Space14m
    • 123L51. Two Sum In BST | Check if there exists a pair with Sum K15m
    • 124L52. Recover BST | Correct BST with two nodes swapped16m
    • 125L53. Largest BST in Binary Tree17m
    • 126G-1. Introduction to Graph | Types | Different Conventions Used14m
  5. Day 26 · 1h 57m

    • 127G-2. Graph Representation in C++ | Two Ways to Represent16m
    • 128G-3. Graph Representation in Java | Two Ways to Represent13m
    • 129G-4. What are Connected Components ?7m
    • 130G-5. Breadth-First Search (BFS) | C++ and Java | Traversal Technique in Graphs20m
    • 131G-6. Depth-First Search (DFS) | C++ and Java | Traversal Technique in Graphs20m
    • 132G-7. Number of Provinces | C++ | Java | Connected Components15m
    • 133G-8. Number of Islands | Number of Connected Components in Matrix | C++ | Java25m
  6. Day 27 · 1h 43m

    • 134G-9. Flood Fill Algorithm | C++ | Java21m
    • 135G-10. Rotten Oranges | C++ | Java23m
    • 136G-11. Detect a Cycle in an Undirected Graph using BFS | C++ | Java20m
    • 137G-12. Detect a Cycle in an Undirected Graph using DFS | C++ | Java19m
    • 138G-13. Distance of nearest cell having 1 | 0/1 Matrix | C++ | Java20m
  7. Day 28 · 1h 48m

    • 139G-14. Surrounded Regions | Replace O's with X's | C++ | Java23m
    • 140G-15. Number of Enclaves | Multi-source BFS | C++ | Java16m
    • 141G-16. Number of Distinct Islands | Constructive Thinking + DFS | C++ | Java18m
    • 142G-17. Bipartite Graph | BFS | C++ | Java18m
    • 143G-18. Bipartite Graph | DFS | C++ | Java15m
    • 144G-19. Detect cycle in a directed graph using DFS | Java | C++17m
Week 5Videos 145–181 · 12h 34m
  1. Day 29 · 1h 47m

    • 145G-20. Find Eventual Safe States - DFS24m
    • 146G-21. Topological Sort Algorithm | DFS14m
    • 147G-22. Kahn's Algorithm | Topological Sort Algorithm | BFS14m
    • 148G-23. Detect a Cycle in Directed Graph | Topological Sort | Kahn's Algorithm | BFS6m
    • 149G-24. Course Schedule I and II | Pre-requisite Tasks | Topological Sort12m
    • 150G-25. Find Eventual Safe States - BFS - Topological Sort17m
    • 151G-26. Alien Dictionary - Topological Sort21m
  2. Day 30 · 1h 37m

    • 152G-27. Shortest Path in Directed Acyclic Graph - Topological Sort27m
    • 153G-28. Shortest Path in Undirected Graph with Unit Weights17m
    • 154G-29. Word Ladder - I | Shortest Paths28m
    • 155G-30. Word Ladder - 2 | Shortest Paths26m
  3. Day 31 · 1h 56m

    • 156G-31. Word Ladder - 2 | Optimised Approach for Leetcode24m
    • 157G-32. Dijkstra's Algorithm - Using Priority Queue - C++ and Java - Part 123m
    • 158G-33. Dijkstra's Algorithm - Using Set - Part 212m
    • 159G-34. Dijkstra's Algorithm - Why PQ and not Q, Intuition, Time Complexity Derivation - Part 315m
    • 160G-35. Print Shortest Path - Dijkstra's Algorithm19m
    • 161G-36. Shortest Distance in a Binary Maze24m
  4. Day 32 · 2h

    • 162G-37. Path With Minimum Effort25m
    • 163G-38. Cheapest Flights Within K Stops24m
    • 164G-39. Minimum Multiplications to Reach End20m
    • 165G-40. Number of Ways to Arrive at Destination24m
    • 166G-41. Bellman Ford Algorithm28m
  5. Day 33 · 1h 53m

    • 167G-42. Floyd Warshall Algorithm30m
    • 168G-43. Find the City With the Smallest Number of Neighbours at a Threshold Distance13m
    • 169G-44. Minimum Spanning Tree - Theory8m
    • 170G-45. Prim's Algorithm - Minimum Spanning Tree - C++ and Java19m
    • 171G-46. Disjoint Set | Union by Rank | Union by Size | Path Compression42m
  6. Day 34 · 1h 50m

    • 172G-47. Kruskal's Algorithm - Minimum Spanning Tree - C++ and Java13m
    • 173G-48. Number of Provinces - Disjoint Set8m
    • 174G-49. Number of Operations to Make Network Connected - DSU15m
    • 175G-50. Accounts Merge - DSU22m
    • 176G-51. Number of Islands - II - Online Queries - DSU26m
    • 177G-52. Making a Large Island - DSU26m
  7. Day 35 · 1h 32m

    • 178G-53. Most Stones Removed with Same Row or Column - DSU24m
    • 179G-54. Strongly Connected Components - Kosaraju's Algorithm23m
    • 180G-55. Bridges in Graph - Using Tarjan's Algorithm of time in and low time23m
    • 181G-56. Articulation Point in Graph22m
Week 6Videos 182–206 · 12h 17m
  1. Day 36 · 1h 44m

    • 182DP 1. Introduction to Dynamic Programming | Memoization | Tabulation | Space Optimization Techniques34m
    • 183DP 2. Climbing Stairs | Learn How to Write 1D Recurrence Relations13m
    • 184DP 3. Frog Jump | Dynamic Programming | Learn to write 1D DP39m
    • 185DP 4. Frog Jump with K Distance | Lecture 3 Follow Up Question18m
  2. Day 37 · 1h 35m

    • 186DP 5. Maximum Sum of Non-Adjacent Elements | House Robber | 1-D | DP on Subsequences32m
    • 187DP 6. House Robber 2 | 1D DP | DP on Subsequences10m
    • 188DP 7. Ninja's Training | MUST WATCH for 2D CONCEPTS 🔥 | Vacation | Atcoder | 2D DP |52m
  3. Day 38 · 2h

    • 189DP 8. Grid Unique Paths | Learn Everything about DP on Grids | ALL TECHNIQUES 🔥48m
    • 190DP 9. Unique Paths 2 | DP on Grid with Maze Obstacles13m
    • 191DP 10. Minimum Path Sum in Grid | Asked to me In Microsoft Internship Interview | DP on GRIDS24m
    • 192DP 11. Triangle | Fixed Starting Point and Variable Ending Point | DP on GRIDS35m
  4. Day 39 · 1h 26m

    • 193DP 12. Minimum/Maximum Falling Path Sum | Variable Starting and Ending Points | DP on Grids43m
    • 194DP 13. Cherry Pickup II | 3D DP Made Easy | DP On Grids43m
  5. Day 40 · 1h 55m

    • 195DP 14. Subset Sum Equals to Target | Identify DP on Subsequences and Ways to Solve them39m
    • 196DP 15. Partition Equal Subset Sum | DP on Subsequences10m
    • 197Dp 16. Partition A Set Into Two Subsets With Minimum Absolute Sum Difference | DP on Subsequences30m
    • 198DP 17. Counts Subsets with Sum K | Dp on Subsequences37m
  6. Day 41 · 1h 43m

    • 199DP 18. Count Partitions With Given Difference | Dp on Subsequences18m
    • 200DP 19. 0/1 Knapsack | Recursion to Single Array Space Optimised Approach | DP on Subsequences41m
    • 201DP 20. Minimum Coins | DP on Subsequences | Infinite Supplies Pattern34m
    • 202DP 21. Target Sum | DP on Subsequences9m
  7. Day 42 · 1h 55m

    • 203DP 22. Coin Change 2 | Infinite Supply Problems | DP on Subsequences22m
    • 204DP 23. Unbounded Knapsack | 1-D Array Space Optimised Approach23m
    • 205DP 24. Rod Cutting Problem | 1D Array Space Optimised Approach23m
    • 206Dp 25. Longest Common Subsequence | Top Down | Bottom-Up | Space Optimised | DP on Strings47m
Week 7Videos 207–237 · 12h 3m
  1. Day 43 · 1h 27m

    • 207DP 26. Print Longest Common Subsequence | Dp on Strings17m
    • 208DP 27. Longest Common Substring | DP on Strings 🔥14m
    • 209DP 28. Longest Palindromic Subsequence10m
    • 210DP 29. Minimum Insertions to Make String Palindrome12m
    • 211DP 30. Minimum Insertions/Deletions to Convert String A to String B8m
    • 212DP 31. Shortest Common Supersequence | DP on Strings27m
  2. Day 44 · 1h 18m

    • 213DP 32. Distinct Subsequences | 1D Array Optimisation Technique 🔥40m
    • 214DP 33. Edit Distance | Recursive to 1D Array Optimised Solution 🔥38m
  3. Day 45 · 1h 51m

    • 215DP 34. Wildcard Matching | Recursive to 1D Array Optimisation 🔥44m
    • 216DP 36. Buy and Sell Stock - II | Recursion to Space Optimisation36m
    • 217DP 37. Buy and Sell Stocks III | Recursion to Space Optimisation32m
  4. Day 46 · 1h 57m

    • 218DP 38. Buy and Stock Sell IV | Recursion to Space Optimisation12m
    • 219DP 39. Buy and Sell Stocks With Cooldown | Recursion to Space Optimisation15m
    • 220DP 40. Buy and Sell Stocks With Transaction Fee | Recursion to Space Optimisation7m
    • 221DP 41. Longest Increasing Subsequence | Memoization25m
    • 222DP 42. Printing Longest Increasing Subsequence | Tabulation | Algorithm26m
    • 223DP 43. Longest Increasing Subsequence | Binary Search | Intuition16m
    • 224DP 44. Largest Divisible Subset | Longest Increasing Subsequence15m
  5. Day 47 · 1h 54m

    • 225DP 45. Longest String Chain | Longest Increasing Subsequence | LIS17m
    • 226DP 46. Longest Bitonic Subsequence | LIS14m
    • 227DP 47. Number of Longest Increasing Subsequences21m
    • 228DP 48. Matrix Chain Multiplication | MCM | Partition DP Starts 🔥54m
    • 229DP 49. Matrix Chain Multiplication | Bottom-Up | Tabulation9m
  6. Day 48 · 1h 39m

    • 230DP 50. Minimum Cost to Cut the Stick30m
    • 231DP 51. Burst Balloons | Partition DP | Interactive G-Meet Session Update34m
    • 232DP 52. Evaluate Boolean Expression to True | Partition DP35m
  7. Day 49 · 1h 57m

    • 233DP 53. Palindrome Partitioning - II | Front Partition 🔥23m
    • 234DP 54. Partition Array for Maximum Sum | Front Partition 🔥22m
    • 235DP 55. Maximum Rectangle Area with all 1's | DP on Rectangles11m
    • 236DP 56. Count Square Submatrices with All Ones | DP on Rectangles 🔥16m
    • 237L1. Introduction to LinkedList | Traversal | Length | Search an Element45m
Week 8Videos 238–269 · 11h 49m
  1. Day 50 · 57m

    • 238L2. Deletion and Insertion in LL | 8 Problems57m
  2. Day 51 · 1h 37m

    • 239L3. Introduction to Doubly LinkedList | Insertions and Deletions1h 4m
    • 240L4. Reverse a DLL | Multiple Approaches19m
    • 241L5. Add 2 numbers in LinkedList | Dummy Node Approach15m
  3. Day 52 · 1h 57m

    • 242L6. Odd Even Linked List | Multiple Approaches24m
    • 243L7. Sort a LinkedList of 0's, 1's and 2's | Multiple Approaches23m
    • 244L8. Remove Nth Node from the end of the LinkedList | Multiple Approaches16m
    • 245L9. Reverse a LinkedList | Iterative and Recursive33m
    • 246L10. Check if a LinkedList is Palindrome or Not | Multiple Approaches20m
  4. Day 53 · 1h 47m

    • 247L11. Add 1 to a number represented by LinkedList25m
    • 248L12. Find the intersection point of Y LinkedList32m
    • 249L13. Find the middle element of the LinkedList | Multiple Approaches15m
    • 250L14. Detect a loop or cycle in LinkedList | With proof and Intuition20m
    • 251L15. Find the length of the Loop in LinkedList14m
  5. Day 54 · 1h 54m

    • 252L16. Delete the middle node of the LinkedList17m
    • 253L17. Find the starting point of the Loop/Cycle in LinkedList | Multiple Approaches23m
    • 254L18. Delete all occurrences of a Key in DLL11m
    • 255L19. Find all Pairs with given Sum in DLL14m
    • 256L20. Remove duplicates from sorted DLL13m
    • 257L21. Reverse Nodes in K Group Size of LinkedList25m
    • 258L22. Rotate a LinkedList12m
  6. Day 55 · 1h 44m

    • 259L23. Merge two sorted Linked Lists19m
    • 260L24. Flattening a LinkedList | Multiple Approaches with Dry Run33m
    • 261L25. Merge K Sorted Lists | Multiple Approaches30m
    • 262L26. Sort a Linked List | Merge Sort and Brute Force22m
  7. Day 56 · 1h 54m

    • 263L27. Clone a LinkedList with Next and Random Pointers | Copy List with Random Pointers33m
    • 264L28. Design a Browser History | LinkedList Implementation15m
    • 265L2. Print all Divisors of a Number | Maths Playlist9m
    • 266L3. Check if a Number if Prime or not | Maths Playlist7m
    • 267L4. Print all prime factors of a Number | Maths Playlist19m
    • 268L5. Power Exponentiation | Maths Playlist13m
    • 269L6. Sieve of Eratosthenes | Maths Playlist18m
Week 9Videos 270–303 · 11h 36m
  1. Day 57 · 1h 45m

    • 270L7. Count Prime in a range L-R | Maths Playlist17m
    • 271L8. Smallest Prime Factor (SPF) | Prime Factorisation | Query Based Problem | Maths Playlist17m
    • 272L1. Introduction to Sliding Window and 2 Pointers | Templates | Patterns37m
    • 273L2. Maximum Points You Can Obtain from Cards | 2 Pointers and Sliding Window Playlist11m
    • 274L3. Longest Substring Without Repeating Characters | 2 Pointers and Sliding Window Playlist23m
  2. Day 58 · 1h 41m

    • 275L4. Max Consecutive Ones III | 2 Pointers and Sliding Window Playlist30m
    • 276L5. Fruit Into Baskets | 2 Pointers and Sliding Window Playlist30m
    • 277L6. Longest Substring With At Most K Distinct Characters | 2 Pointers and Sliding Window Playlist22m
    • 278L7. Number of Substrings Containing All Three Characters | 2 Pointers and Sliding Window Playlist20m
  3. Day 59 · 1h 57m

    • 279L8. Longest Repeating Character Replacement | 2 Pointers and Sliding Window Playlist25m
    • 280L9. Binary Subarrays With Sum | 2 Pointers and Sliding Window Playlist20m
    • 281L10. Count number of Nice subarrays | 2 Pointers and Sliding Window Playlist5m
    • 282L11. Subarray with k different integers | 2 Pointers and Sliding Window Playlist21m
    • 283L12. Minimum Window Substring | 2 Pointers and Sliding Window Playlist27m
    • 284L1. Assign Cookies | Greedy Algorithm Playlist11m
    • 285L3. Shortest Job First (or SJF) CPU Scheduling7m
  4. Day 60 · 1h 46m

    • 286L2. Lemonade Change | Greedy Algorithm Playlist9m
    • 287L4. Jump Game - I | Greedy Algorithm Playlist11m
    • 288L5. Jump Game - II | Greedy Algorithm Playlist17m
    • 289L6. Job Sequencing Problem | Greedy Algorithm Playlist16m
    • 290L7. N Meeting in One Room | Greedy Algorithms Playlist13m
    • 291L8. Non Overlapping Intervals | Greedy Algorithms Playlist9m
    • 292L9. Insert Intervals | Greedy Algorithms Playlist13m
    • 293L10. Minimum number of platforms required in a railway station18m
  5. Day 61 · 1h 15m

    • 294L11. Valid Parenthesis String | Multiple Approaches26m
    • 295L13. Fractional Knapsack Algorithm19m
    • 296L12. Candy | Slope Approach Intuition Based30m
  6. Day 62 · 1h 18m

    • 297L1. Introduction to Stack and Queue | Implementation using Data Structures1h 5m
    • 298L2. Check for Balanced Parentheses | Stack and Queue12m
  7. Day 63 · 1h 54m

    • 299L3. Prefix, Infix, and Postfix Conversion | Stack and Queue Playlist51m
    • 300L4. Implement Min Stack | Stack and Queue Playlist21m
    • 301L5. Next Greater Element | Stack and Queue Playlist18m
    • 302L6. Next Greater Element - II | Stack and Queue Playlist16m
    • 303L7. Previous Smaller Element | Stack and Queue Playlist8m
Week 10Videos 304–315 · 3h 58m
  1. Day 64 · 1h 52m

    • 304L8. Trapping Rainwater | 2 Approaches | Stack and Queue Playlist29m
    • 305L9. Sum of Subarray Minimum | Stack and Queue Playlist24m
    • 306L10. Sum of subarray ranges | Stack and Queue Playlist11m
    • 307L11. Aestroid Collisions | Stack and Queue Playlist17m
    • 308L12. Largest Rectangle in Histogram | Stack and Queue Playlist32m
  2. Day 65 · 1h 48m

    • 309L13. Maximal Rectangle | Stack and Queue Playlist12m
    • 310L14. Remove K Digits | Stack and Queue Playlist15m
    • 311L15. Stock Span Problem | Stack and Queue Playlist19m
    • 312L16. Sliding Window Maximum | Stack and Queue Playlist20m
    • 313L17. The Celebrity Problem | Stack and Queue Playlist16m
    • 314L18. Implement LRU Cache25m
  3. Day 66 · 18m

    • 315Implement LFU cache in C++/Java | Leetcode(Hard)18m

Study plan, phase by phase

Video numbers are positions in the playlist. To schedule just one phase, enter its numbers in the planner's From and To fields.

  1. 01

    Basics: C++, complexity, patterns, STL, maths and recursion

    Videos 1–12 · 7h 32m

    Setup, C++ in one shot, time complexity, pattern problems, the STL and basic maths, then the first five recursion lectures. Skip the C++ video if you already know the language.

  2. 02

    Hashing, sorting and arrays

    Videos 13–44 · 16h 11m

    Hashing, the sorting algorithms, and around 30 array problems from easy to hard: two sum, Kadane's algorithm, 3 sum, 4 sum, merge intervals, count inversions and more.

  3. 03

    Binary search

    Videos 45–72 · 10h 15m

    Binary search on arrays, on answers (Koko, aggressive cows, book allocation) and on 2D matrices. This is one of the best-taught sections; do every problem on your own after the video.

  4. 04

    Binary trees and binary search trees

    Videos 73–125 · 10h 36m

    53 short videos on traversals, views, LCA, construction, Morris traversal and BSTs. Videos are short here, so you can cover more of them per day.

  5. 05

    Graphs

    Videos 126–181 · 18h 15m

    BFS and DFS, cycle detection, topological sort, shortest paths (Dijkstra, Bellman-Ford, Floyd-Warshall), minimum spanning trees, disjoint sets, SCCs and bridges.

  6. 06

    Dynamic programming

    Videos 182–236 · 23h 35m

    The longest phase: 1D and 2D DP, subsequences and knapsack, DP on strings, stocks, LIS, partition DP and DP on squares. Plan extra practice days here.

  7. 07

    Linked lists

    Videos 237–264 · 11h 28m

    Singly and doubly linked lists, from insertion and deletion to reversing in k-groups, merge k sorted lists and cloning with random pointers.

  8. 08

    Maths, sliding window, greedy, stacks and queues

    Videos 265–315 · 16h 40m

    Primes and the sieve, sliding window and two pointers, greedy problems, then stacks and queues ending with the LRU and LFU cache designs.

Tips for finishing

  • The playlist is in upload order, not sheet order. The A2Z sheet covers linked lists, stacks and sliding window before trees, so if you follow the sheet, jump to video 237 after binary search and come back to trees later.
  • Plan around 2 hours of video a day if you are practising alongside. With problem-solving time that is a full study day; set the planner's daily time to the video part only.
  • Use the From and To fields in the planner to schedule one phase at a time. A 10-hour binary search block is easier to commit to than 114 hours.
  • Revise as you go. Rewatching a hard DP video at 1.5x a week later is often faster than re-learning it before an interview.

Frequently asked questions

How long does it take to finish Striver's A2Z DSA Course?

The playlist has 315 videos and 114.5 hours of content. At 1 hour a day that's about 115 days at normal speed, or 77 days at 1.5x. At 2 hours a day it's about 58 days.

Is Striver's A2Z course enough for placements?

It covers the topics most placement and interview rounds ask about, from arrays to graphs and DP. What makes it enough is solving the problems yourself, not just watching the videos.

Should I follow the A2Z sheet or the playlist order?

The sheet. It orders topics from easiest to hardest, while the playlist is ordered by when videos were uploaded. Use the playlist as the video library and the planner's video range to schedule the section you are on.

More study plans

See all 166 study plans

Tools for any playlist