DSA to Dream Job
Crack Interviews

Visualize Algorithms. Understand Better.
{"array": [10, 20, 30, 40, 50],"showIndices": true,"highlightIndices": [4]}
{ "array": [10, 20, 30, 40, 50], "highlightIndices": [] }

Data Structures

Algorithm Visualizations

ArraysArrays (30)

  1. 1Find Maximum and Minimum in Array using Loop
  2. 2Find Second Largest in Array - Optimal Approach
  3. 3Find Second Smallest in Array - Optimal Approach
  4. 4Check if Array is Sorted - Optimal Solution
  5. 5Remove Duplicates from Sorted Array - Optimal Solution
  6. 6Left Rotate an Array by One Place - Optimal Solution
  7. 7Left Rotate an Array by K Places - Optimal Solution
  8. 8Move Zeroes in Array to End - Optimal Approach
  9. 9Linear Search in Array - Optimal Approach
  10. 10Union of Two Arrays - Optimal Approach
  11. 11Find Missing Number in Array - Optimal Solution
  12. 12Max Consecutive Ones in Array - Optimal Approach
  13. 13Find Kth Smallest Element using Quickselect
  14. 14Longest Subarray with Given Sum (Positives) - Optimal Approach
  15. 15Longest Subarray with Given Sum (Positives and Negatives) - Optimal Approach
  16. 16Find Majority Element in Array (more than n/2 times) - Optimal Approach
  17. 17Find Majority Element in Array (more than n/3 times) - Optimal Approach
  18. 18Maximum Subarray Sum using Kadane's Algorithm - Optimal Approach
  19. 19Print Subarray with Maximum Sum - Extension of Kadane's Algorithm
  20. 20Stock Buy and Sell - Optimal Approach
  21. 21Rearrange Array Alternating Positive and Negative Elements - Optimal Approach
  22. 22Next Permutation of Array - Optimal Approach
  23. 23Leaders in an Array - Optimal Approach
  24. 24Longest Consecutive Sequence in Array - Optimal Approach
  25. 25Count Subarrays with Given Sum - Optimal Approach
  26. 26Sort an Array of 0s, 1s, and 2s - Optimal Approach
  27. 273 Sum Problem - Optimal Approach
  28. 284 Sum Problem - Optimal Approach
  29. 29Find Length of Largest Subarray with 0 Sum - Optimal Approach
  30. 30Find Maximum Product Subarray - Optimal Approach

Dynamic ProgrammingDynamic Programming (1)

Binary TreesBinary Trees (36)

  1. 1Preorder Traversal of a Binary Tree using Recursion
  2. 2Preorder Traversal of a Binary Tree using Iteration
  3. 3Postorder Traversal of a Binary Tree Using Recursion
  4. 4Postorder Traversal of a Binary Tree using Iteration
  5. 5Level Order Traversal of a Binary Tree using Recursion
  6. 6Level Order Traversal of a Binary Tree using Iteration
  7. 7Reverse Level Order Traversal of a Binary Tree using Iteration
  8. 8Reverse Level Order Traversal of a Binary Tree using Recursion
  9. 9Find Height of a Binary Tree
  10. 10Find Diameter of a Binary Tree
  11. 11Find Mirror of a Binary Tree - Todo
  12. 12Inorder Traversal of a Binary Tree using Recursion
  13. 13Inorder Traversal of a Binary Tree using Iteration
  14. 14Left View of a Binary Tree
  15. 15Right View of a Binary Tree
  16. 16Top View of a Binary Tree
  17. 17Bottom View of a Binary Tree
  18. 18Zigzag Traversal of a Binary Tree
  19. 19Check if a Binary Tree is Balanced
  20. 20Diagonal Traversal of a Binary Tree
  21. 21Boundary Traversal of a Binary Tree
  22. 22Construct a Binary Tree from a String with Bracket Representation
  23. 23Convert a Binary Tree into a Doubly Linked List
  24. 24Convert a Binary Tree into a Sum Tree
  25. 25Find Minimum Swaps Required to Convert a Binary Tree into a BST
  26. 26Check if a Binary Tree is a Sum Tree
  27. 27Check if All Leaf Nodes are at the Same Level in a Binary Tree
  28. 28Lowest Common Ancestor (LCA) in a Binary Tree
  29. 29Solve the Tree Isomorphism Problem
  30. 30Check if a Binary Tree Contains Duplicate Subtrees of Size 2 or More
  31. 31Check if Two Binary Trees are Mirror Images
  32. 32Calculate the Sum of Nodes on the Longest Path from Root to Leaf in a Binary Tree
  33. 33Print All Paths in a Binary Tree with a Given Sum
  34. 34Find the Distance Between Two Nodes in a Binary Tree
  35. 35Find the kth Ancestor of a Node in a Binary Tree
  36. 36Find All Duplicate Subtrees in a Binary Tree