Strivers-A2Z-DSA
Learn Strivers A2Z-DSA Course | DSA Playlist | Placements by take U forward with comprehensive video tutorials and hands-on projects.

Meet Your Instructor: Take-U-Forward
Take U Forward, led by Striver (Raj Vikramaditya), is a premier platform dedicated to mastering data structures, algorithms, and interview preparation. With a proven track record of helping hundreds of thousands of students land dream jobs at top tech companies, Take U Forward provides comprehensive, well-structured courses that cover everything from basic problem-solving to advanced algorithmic techniques. The platform's signature A2Z DSA Course offers a complete roadmap from fundamentals to expert-level problem solving, making it one of the most trusted resources in the Indian tech community.
Experience: 7+ years
Students Helped: 300,000+
Specialization: DSA & Interview Prep for Tech Careers
Course Overview
This comprehensive course is designed to take you from foundational concepts to advanced implementation in dsa & interview prep for tech careers. You'll learn through comprehensive roadmap-based learning with step-by-step problem-solving, curated playlists, and structured progression from basics to advanced concepts, building real-world projects that demonstrate your skills and enhance your portfolio.
Whether you're looking to start a new career in technology or advance your current skills, this course provides the structured learning path and practical experience you need to succeed in today's competitive tech industry.
Course Curriculum
Course Content
Don't watch my A2Z DSA Course
How to setup VS code for DSA and CP | Input / Output split format
C++ Basics in One Shot - Strivers A2Z DSA Course - L1
Time and Space Complexity - Strivers A2Z DSA Course
Solve any Pattern Question - Trick Explained | 22 Patterns in 1 Shot | Strivers A2Z DSA Course
Complete C++ STL in 1 Video | Time Complexity and Notes
Basic Maths for DSA | Euclidean Algorithm | Strivers A2Z DSA Course
Re 1. Introduction to Recursion | Recursion Tree | Stack Space | Strivers A2Z DSA Course
Re 2. Problems on Recursion | Strivers A2Z DSA Course
Re 3. Parameterised and Functional Recursion | Strivers A2Z DSA Course
Re 4. Problems on Functional Recursion | Strivers A2Z DSA Course
Re 5. Multiple Recursion Calls | Problems | Strivers A2Z DSA Course
Hashing | Maps | Time Complexity | Collisions | Division Rule of Hashing | Strivers A2Z DSA Course
Sorting - Part 1 | Selection Sort, Bubble Sort, Insertion Sort | Strivers A2Z DSA Course
Merge Sort | Algorithm | Pseudocode | Dry Run | Code | Strivers A2Z DSA Course
Quick Sort For Beginners | Strivers A2Z DSA Course
Find Second Largest Element in Array | Remove duplicates from Sorted Array | Arrays Intro Video
Rotate Array by K places | Union, Intersection of Sorted Arrays | Move Zeros to End | Arrays Part-2
Find element that appears once | Find missing number | Max Consecutive number of 1's | Arrays Part-3
Longest Subarray with sum K | Brute - Better - Optimal | Generate Subarrays
2 Sum Problem | 2 types of the same problem for Interviews | Brute-Better-Optimal
Sort an array of 0's 1's & 2's | Intuition of Algoπ₯ | C++ Java Python | Brute-Better-Optimal
Majority Element I | Brute-Better-Optimal | Moore's Voting Algorithm | Intuition π₯|Brute to Optimal
Kadane's Algorithm | Maximum Subarray Sum | Finding and Printing
DP 35. Best Time to Buy and Sell Stock | DP on Stocks π₯
Rearrange Array Elements by Sign | 2 Varieties of same Problem
Next Permutation - Intuition in Detail π₯ | Brute to Optimal
Leaders in an Array | Brute - Optimal | Strivers A2Z DSA Course
Longest Consecutive Sequence | Google Interview Question | Brute Better Optimal
Set Matrix Zeroes | O(1) Space Approach | Brute - Better - Optimal
Rotate Matrix/Image by 90 Degrees | Brute - Optimal
Spiral Traversal of a Matrix | Spiral Matrix
Count Subarray sum Equals K | Brute - Better -Optimal
Pascal Triangle | Finding nCr in minimal time
Majority Element II | Brute-Better-Optimal
3 Sum | Brute - Better - Optimal with Codes
4 Sum | Brute - Better - Optimal with Codes
Number of Subarrays with xor K | Brute - Better - Optimal
Merge Overlapping Intervals | Brute, Optimal with Precise TC analysis
Merge Sorted Arrays Without Extra Space | 2 Optimal Solution
Find the Missing and Repeating Number | 4 Approaches π₯
Count Inversions in an Array | Brute and Optimal
Reverse Pairs | Hard Interview Question
Maximum Product Subarray - Best Intuitive Approach Discussed
BS-1. Binary Search Introduction | Real Life Example | Iterative | Recursive | Overflow Cases
BS-2. Implement Lower Bound and Upper Bound | Search Insert Position | Floor and Ceil
BS-3. First and Last Occurrences in Array | Count occurrences in Array
BS-4. Search Element in Rotated Sorted Array - I
BS-5. Search Element in Rotated Sorted Array II
BS-6. Minimum in Rotated Sorted Array
BS-7. Find out how many times array has been rotated
BS-8. Single Element in Sorted Array
BS-9. Find Peak Element
BS-10. Finding Sqrt of a number using Binary Search
BS-11. Find the Nth root of an Integer
BS-12. Koko Eating Bananas
BS-13. Minimum days to make M bouquets | Binary Search
BS-14. Find the Smallest Divisor Given a Threshold | Binary Search
BS-15. Capacity to Ship Packages within D Days
BS-16. Kth Missing Positive Number | Maths + Binary Search
BS-17. Aggressive Cows | Binary Search Hard
BS-18. Allocate Books or Book Allocation | Hard Binary Search
BS 19. Painter's Partition and Split Array - Largest Sum
BS-20. Minimise Maximum Distance between Gas Stations | 3 Approaches | Heap | Binary Search
BS 21: Median of two Sorted Arrays of Different Sizes | Brute and Better Approach
BS-21. Median of two Sorted Arrays of Different Sizes | Binary Search Approach With Intuition
Bs-22. K-th element of two sorted arrays | Binary Search Approach
BS 23. Row with maximum number of 1s | Binary Search on 2D Arrays
BS-24. Search in a 2D Matrix - I | Binary Search of 2D
BS-25. Search in a 2D Matrix - II | Binary Search on 2D
BS-26. Find Peak Element-II | Binary Search
BS-27. Median in a Row Wise Sorted Matrix
L1. Introduction to Trees | Types of Trees
L2. Binary Tree Representation in C++
L3. Binary Tree Representation in Java
L4. Binary Tree Traversals in Binary Tree | BFS | DFS
L5. Preorder Traversal of Binary Tree | C++ | Java | Code Explanation
L6. Inorder Traversal of Binary Tree | C++ | Java | Code Explanation
L7. Postorder Traversal of Binary Tree | C++ | Java | Code Explanation
L8. Level Order Traversal of Binary Tree | BFS | C++ | Java
L9. Iterative Preorder Traversal in Binary Tree | C++ | Java | Stack
L10. iterative Inorder Traversal in Binary Tree | C++ | Java | Stack
L11. Iterative Postorder Traversal using 2 Stack | C++ | Java | Binary Tree
L12. Iterative Postorder Traversal using 1 Stack | C++ | Java | Binary Trees
L13. Preorder Inorder Postorder Traversals in One Traversal | C++ | Java | Stack | Binary Trees
L14. Maximum Depth in Binary Tree | Height of Binary Tree | C++ | Java
L15. Check for Balanced Binary Tree | C++ | Java
L16. Diameter of Binary Tree | C++ | Java
L17. Maximum Path Sum in Binary Tree | C++ | Java
L18. Check it two trees are Identical or Not | C++ | Java
L19. Zig-Zag or Spiral Traversal in Binary Tree | C++ | Java
L20. Boundary Traversal in Binary Tree | C++ | Java
L21. Vertical Order Traversal of Binary Tree | C++ | Java
L22. Top View of Binary Tree | C++ | Java
L23. Bottom View of Binary Tree | C++ | Java
L24. Right/Left View of Binary Tree | C++ | Java
L25. Check for Symmetrical Binary Trees | C++ | Java
L26. Print Root to Node Path in Binary Tree | C++ | Java
L27. Lowest Common Ancestor in Binary Tree | LCA | C++ | Java
L28. Maximum Width of Binary Tree | C++ | Java
L29. Children Sum Property in Binary Tree | O(N) Approach | C++ | Java
L30. Print all the Nodes at a distance of K in Binary Tree | C++ | Java
L31. Minimum time taken to BURN the Binary Tree from a Node | C++ | Java
L32. Count total Nodes in a COMPLETE Binary Tree | O(Log^2 N) Approach | C++ | Java
L33. Requirements needed to construct a Unique Binary Tree | Theory
L34. Construct a Binary Tree from Preorder and Inorder Traversal | C++ | Java
L35. Construct the Binary Tree from Postorder and Inorder Traversal | C++ | Java
L36. Serialize and De-serialize Binary Tree | C++ | Java
L37. Morris Traversal | Preorder | Inorder | C++ | Java
L38. Flatten a Binary Tree to Linked List | 3 Approaches | C++ | Java
L39. Introduction to Binary Search Tree | BST
L40. Search in a Binary Search Tree | BST | C++ | Java
L41. Ceil in a Binary Search Tree | BST | C++ | Java
L42. Floor in a Binary Search Tree | BST | C++ | Java
L43. Insert a given Node in Binary Search Tree | BST | C++ | Java
L44. Delete a Node in Binary Search Tree | BST | C++ | Java
L45. K-th Smallest/Largest Element in BST
L46. Check if a tree is a BST or BT | Validate a BST
L47. LCA in Binary Search Tree
L48. Construct a BST from a preorder traversal | 3 Methods
L49. Inorder Successor/Predecessor in BST | 3 Methods
L50. Binary Search Tree Iterator | BST | O(H) Space
L51. Two Sum In BST | Check if there exists a pair with Sum K
L52. Recover BST | Correct BST with two nodes swapped
L53. Largest BST in Binary Tree
G-1. Introduction to Graph | Types | Different Conventions Used
G-2. Graph Representation in C++ | Two Ways to Represent
G-3. Graph Representation in Java | Two Ways to Represent
G-4. What are Connected Components ?
G-5. Breadth-First Search (BFS) | C++ and Java | Traversal Technique in Graphs
G-6. Depth-First Search (DFS) | C++ and Java | Traversal Technique in Graphs
G-7. Number of Provinces | C++ | Java | Connected Components
G-8. Number of Islands | Number of Connected Components in Matrix | C++ | Java
G-9. Flood Fill Algorithm | C++ | Java
G-10. Rotten Oranges | C++ | Java
G-11. Detect a Cycle in an Undirected Graph using BFS | C++ | Java
G-12. Detect a Cycle in an Undirected Graph using DFS | C++ | Java
G-13. Distance of nearest cell having 1 | 0/1 Matrix | C++ | Java
G-14. Surrounded Regions | Replace O's with X's | C++ | Java
G-15. Number of Enclaves | Multi-source BFS | C++ | Java
G-16. Number of Distinct Islands | Constructive Thinking + DFS | C++ | Java
G-17. Bipartite Graph | BFS | C++ | Java
G-18. Bipartite Graph | DFS | C++ | Java
G-19. Detect cycle in a directed graph using DFS | Java | C++
G-20. Find Eventual Safe States - DFS
G-21. Topological Sort Algorithm | DFS
G-22. Kahn's Algorithm | Topological Sort Algorithm | BFS
G-23. Detect a Cycle in Directed Graph | Topological Sort | Kahn's Algorithm | BFS
G-24. Course Schedule I and II | Pre-requisite Tasks | Topological Sort
G-25. Find Eventual Safe States - BFS - Topological Sort
G-26. Alien Dictionary - Topological Sort
G-27. Shortest Path in Directed Acyclic Graph - Topological Sort
G-28. Shortest Path in Undirected Graph with Unit Weights
G-29. Word Ladder - I | Shortest Paths
G-30. Word Ladder - 2 | Shortest Paths
G-31. Word Ladder - 2 | Optimised Approach for Leetcode
G-32. Dijkstra's Algorithm - Using Priority Queue - C++ and Java - Part 1
G-33. Dijkstra's Algorithm - Using Set - Part 2
G-34. Dijkstra's Algorithm - Why PQ and not Q, Intuition, Time Complexity Derivation - Part 3
G-35. Print Shortest Path - Dijkstra's Algorithm
G-36. Shortest Distance in a Binary Maze
G-37. Path With Minimum Effort
G-38. Cheapest Flights Within K Stops
G-39. Minimum Multiplications to Reach End
G-40. Number of Ways to Arrive at Destination
G-41. Bellman Ford Algorithm
G-42. Floyd Warshall Algorithm
G-43. Find the City With the Smallest Number of Neighbours at a Threshold Distance
G-44. Minimum Spanning Tree - Theory
G-45. Prim's Algorithm - Minimum Spanning Tree - C++ and Java
G-46. Disjoint Set | Union by Rank | Union by Size | Path Compression
G-47. Kruskal's Algorithm - Minimum Spanning Tree - C++ and Java
G-48. Number of Provinces - Disjoint Set
G-49. Number of Operations to Make Network Connected - DSU
G-50. Accounts Merge - DSU
G-51. Number of Islands - II - Online Queries - DSU
G-52. Making a Large Island - DSU
G-53. Most Stones Removed with Same Row or Column - DSU
G-54. Strongly Connected Components - Kosaraju's Algorithm
G-55. Bridges in Graph - Using Tarjan's Algorithm of time in and low time
G-56. Articulation Point in Graph
DP 1. Introduction to Dynamic Programming | Memoization | Tabulation | Space Optimization Techniques
DP 2. Climbing Stairs | Learn How to Write 1D Recurrence Relations
DP 3. Frog Jump | Dynamic Programming | Learn to write 1D DP
DP 4. Frog Jump with K Distance | Lecture 3 Follow Up Question
DP 5. Maximum Sum of Non-Adjacent Elements | House Robber | 1-D | DP on Subsequences
DP 6. House Robber 2 | 1D DP | DP on Subsequences
DP 7. Ninja's Training | MUST WATCH for 2D CONCEPTS π₯ | Vacation | Atcoder | 2D DP |
DP 8. Grid Unique Paths | Learn Everything about DP on Grids | ALL TECHNIQUES π₯
DP 9. Unique Paths 2 | DP on Grid with Maze Obstacles
DP 10. Minimum Path Sum in Grid | Asked to me In Microsoft Internship Interview | DP on GRIDS
DP 11. Triangle | Fixed Starting Point and Variable Ending Point | DP on GRIDS
DP 12. Minimum/Maximum Falling Path Sum | Variable Starting and Ending Points | DP on Grids
DP 13. Cherry Pickup II | 3D DP Made Easy | DP On Grids
DP 14. Subset Sum Equals to Target | Identify DP on Subsequences and Ways to Solve them
DP 15. Partition Equal Subset Sum | DP on Subsequences
Dp 16. Partition A Set Into Two Subsets With Minimum Absolute Sum Difference | DP on Subsequences
DP 17. Counts Subsets with Sum K | Dp on Subsequences
DP 18. Count Partitions With Given Difference | Dp on Subsequences
DP 19. 0/1 Knapsack | Recursion to Single Array Space Optimised Approach | DP on Subsequences
DP 20. Minimum Coins | DP on Subsequences | Infinite Supplies Pattern
DP 21. Target Sum | DP on Subsequences
DP 22. Coin Change 2 | Infinite Supply Problems | DP on Subsequences
DP 23. Unbounded Knapsack | 1-D Array Space Optimised Approach
DP 24. Rod Cutting Problem | 1D Array Space Optimised Approach
Dp 25. Longest Common Subsequence | Top Down | Bottom-Up | Space Optimised | DP on Strings
DP 26. Print Longest Common Subsequence | Dp on Strings
DP 27. Longest Common Substring | DP on Strings π₯
DP 28. Longest Palindromic Subsequence
DP 29. Minimum Insertions to Make String Palindrome
DP 30. Minimum Insertions/Deletions to Convert String A to String B
DP 31. Shortest Common Supersequence | DP on Strings
DP 32. Distinct Subsequences | 1D Array Optimisation Technique π₯
DP 33. Edit Distance | Recursive to 1D Array Optimised Solution π₯
DP 34. Wildcard Matching | Recursive to 1D Array Optimisation π₯
DP 36. Buy and Sell Stock - II | Recursion to Space Optimisation
DP 37. Buy and Sell Stocks III | Recursion to Space Optimisation
DP 38. Buy and Stock Sell IV | Recursion to Space Optimisation
DP 39. Buy and Sell Stocks With Cooldown | Recursion to Space Optimisation
DP 40. Buy and Sell Stocks With Transaction Fee | Recursion to Space Optimisation
DP 41. Longest Increasing Subsequence | Memoization
DP 42. Printing Longest Increasing Subsequence | Tabulation | Algorithm
DP 43. Longest Increasing Subsequence | Binary Search | Intuition
DP 44. Largest Divisible Subset | Longest Increasing Subsequence
DP 45. Longest String Chain | Longest Increasing Subsequence | LIS
DP 46. Longest Bitonic Subsequence | LIS
DP 47. Number of Longest Increasing Subsequences
DP 48. Matrix Chain Multiplication | MCM | Partition DP Starts π₯
DP 49. Matrix Chain Multiplication | Bottom-Up | Tabulation
DP 50. Minimum Cost to Cut the Stick
DP 51. Burst Balloons | Partition DP | Interactive G-Meet Session Update
DP 52. Evaluate Boolean Expression to True | Partition DP
DP 53. Palindrome Partitioning - II | Front Partition π₯
DP 54. Partition Array for Maximum Sum | Front Partition π₯
DP 55. Maximum Rectangle Area with all 1's | DP on Rectangles
DP 56. Count Square Submatrices with All Ones | DP on Rectangles π₯
L1. Introduction to LinkedList | Traversal | Length | Search an Element
L2. Deletion and Insertion in LL | 8 Problems
L3. Introduction to Doubly LinkedList | Insertions and Deletions
L4. Reverse a DLL | Multiple Approaches
L5. Add 2 numbers in LinkedList | Dummy Node Approach
L6. Odd Even Linked List | Multiple Approaches
L7. Sort a LinkedList of 0's, 1's and 2's | Multiple Approaches
L8. Remove Nth Node from the end of the LinkedList | Multiple Approaches
L9. Reverse a LinkedList | Iterative and Recursive
L10. Check if a LinkedList is Palindrome or Not | Multiple Approaches
L11. Add 1 to a number represented by LinkedList
L12. Find the intersection point of Y LinkedList
L13. Find the middle element of the LinkedList | Multiple Approaches
L14. Detect a loop or cycle in LinkedList | With proof and Intuition
L15. Find the length of the Loop in LinkedList
L16. Delete the middle node of the LinkedList
L17. Find the starting point of the Loop/Cycle in LinkedList | Multiple Approaches
L18. Delete all occurrences of a Key in DLL
L19. Find all Pairs with given Sum in DLL
L20. Remove duplicates from sorted DLL
L21. Reverse Nodes in K Group Size of LinkedList
L22. Rotate a LinkedList
L23. Merge two sorted Linked Lists
L24. Flattening a LinkedList | Multiple Approaches with Dry Run
L25. Merge K Sorted Lists | Multiple Approaches
L26. Sort a Linked List | Merge Sort and Brute Force
L27. Clone a LinkedList with Next and Random Pointers | Copy List with Random Pointers
L28. Design a Browser History | LinkedList Implementation
L2. Print all Divisors of a Number | Maths Playlist
L3. Check if a Number if Prime or not | Maths Playlist
L4. Print all prime factors of a Number | Maths Playlist
L5. Power Exponentiation | Maths Playlist
L6. Sieve of Eratosthenes | Maths Playlist
L7. Count Prime in a range L-R | Maths Playlist
L8. Smallest Prime Factor (SPF) | Prime Factorisation | Query Based Problem | Maths Playlist
L1. Introduction to Sliding Window and 2 Pointers | Templates | Patterns
L2. Maximum Points You Can Obtain from Cards | 2 Pointers and Sliding Window Playlist
L3. Longest Substring Without Repeating Characters | 2 Pointers and Sliding Window Playlist
L4. Max Consecutive Ones III | 2 Pointers and Sliding Window Playlist
L5. Fruit Into Baskets | 2 Pointers and Sliding Window Playlist
L6. Longest Substring With At Most K Distinct Characters | 2 Pointers and Sliding Window Playlist
L7. Number of Substrings Containing All Three Characters | 2 Pointers and Sliding Window Playlist
L8. Longest Repeating Character Replacement | 2 Pointers and Sliding Window Playlist
L9. Binary Subarrays With Sum | 2 Pointers and Sliding Window Playlist
L10. Count number of Nice subarrays | 2 Pointers and Sliding Window Playlist
L11. Subarray with k different integers | 2 Pointers and Sliding Window Playlist
L12. Minimum Window Substring | 2 Pointers and Sliding Window Playlist
L1. Assign Cookies | Greedy Algorithm Playlist
L3. Shortest Job First (or SJF) CPU Scheduling
L2. Lemonade Change | Greedy Algorithm Playlist
L4. Jump Game - I | Greedy Algorithm Playlist
L5. Jump Game - II | Greedy Algorithm Playlist
L6. Job Sequencing Problem | Greedy Algorithm Playlist
L7. N Meeting in One Room | Greedy Algorithms Playlist
L8. Non Overlapping Intervals | Greedy Algorithms Playlist
L9. Insert Intervals | Greedy Algorithms Playlist
L10. Minimum number of platforms required in a railway station
L11. Valid Parenthesis String | Multiple Approaches
L13. Fractional Knapsack Algorithm
L12. Candy | Slope Approach Intuition Based
L1. Introduction to Stack and Queue | Implementation using Data Structures
L2. Check for Balanced Parentheses | Stack and Queue
L3. Prefix, Infix, and Postfix Conversion | Stack and Queue Playlist
L4. Implement Min Stack | Stack and Queue Playlist
L5. Next Greater Element | Stack and Queue Playlist
L6. Next Greater Element - II | Stack and Queue Playlist
L7. Previous Smaller Element | Stack and Queue Playlist
L8. Trapping Rainwater | 2 Approaches | Stack and Queue Playlist
L9. Sum of Subarray Minimum | Stack and Queue Playlist
L10. Sum of subarray ranges | Stack and Queue Playlist
L11. Aestroid Collisions | Stack and Queue Playlist
L12. Largest Rectangle in Histogram | Stack and Queue Playlist
L13. Maximal Rectangle | Stack and Queue Playlist
L14. Remove K Digits | Stack and Queue Playlist
L15. Stock Span Problem | Stack and Queue Playlist
L16. Sliding Window Maximum | Stack and Queue Playlist
L17. The Celebrity Problem | Stack and Queue Playlist
L18. Implement LRU Cache
Implement LFU cache in C++/Java | Leetcode(Hard)
Major Announcement | TUF+ V2 and System Design Playlist π₯
Requirements
- Basic programming knowledge in C++/Java/Python
- Understanding of basic data structures (arrays, strings)
- Internet connection for video streaming
- Code editor (VS Code recommended) for practice
- Commitment to solve 450+ coding problems systematically
Course Features

Course Details
Similar Courses in this Category

Namaste DSA
From zero to hero in Data Structures & Algorithms. Structured, hands-on, problem-solving heavy course which aims at giving you huge conceptual clarity and interview-readiness. :contentReference[oaicite:2]{index=2}
Akshay SainiRohit-Negi-DSA
Learn Rohit Negi DSA Course with comprehensive video tutorials and hands-on projects.

SIGMA-9-CPP
SIGMA-9 CPP DSA by Apna college video tutorials and hands-on projects.

SIGMA-9-JAVA
Learn SIGMA - 9 JAVA DSA by Apna college with comprehensive video tutorials and hands-on projects.
Ready to Start Learning?
Join thousands of students who have already enrolled in this course.
Start Learning Now