DSA Concepts & Practice Problems
Structured Data Structures & Algorithms learning paths and free practice problems, each with an in-browser editor, auto-judging, and step-wise AI hints.
Learning paths
- Array Basics
- Hashing Pattern
- Two Pointers
- Sliding Window
- Stacks & Queues
- Linked Lists
- Trees
- Searching & Sorting
Foundations — interactive visual guides
- Tree Foundations
- Graph Foundations
- Dynamic Programming Foundations
- Tree Coding Basics
- Sorting Foundations
- Linked List Foundations
- Recursion Foundations
- Binary Search Foundations
Practice problems
- Add Two Numbers
- Basic Calculator
- Best Time to Buy and Sell Stock
- Binary Search Foundations
- Binary Search
- Binary Tree Inorder Traversal
- Binary Tree Maximum Path Sum
- Binary Tree Postorder Traversal
- Binary Tree Preorder Traversal
- Climbing Stairs
- Clone Graph
- Coin Change
- Construct Binary Tree from Preorder & Inorder
- Container With Most Water
- Contains Duplicate
- Course Schedule II
- Course Schedule
- Daily Temperatures
- Decode Ways
- Diameter of Binary Tree
- Dynamic Programming Concepts
- Evaluate Reverse Polish Notation
- Fibonacci Number
- Find All Duplicates in an Array
- Find First and Last Position
- Find Minimum in Rotated Sorted Array
- First Missing Positive
- Flood Fill
- Greatest Common Divisor of Strings
- Generate Parentheses
- Graph Valid Tree
- Graphs Concepts
- Group Anagrams
- House Robber II
- House Robber
- Invert Binary Tree
- Kth Largest Element in an Array
- Largest Rectangle in Histogram
- Binary Tree Level Order Traversal
- Linked List Foundations
- Linked List Cycle
- Longest Common Subsequence
- Longest Consecutive Sequence
- Longest Increasing Subsequence
- Longest Repeating Character Replacement
- Longest Substring Without Repeating
- Lowest Common Ancestor of a Binary Tree
- Majority Element
- Max Area of Island
- Maximum Depth of Binary Tree
- Maximum Subarray Sum of Size K
- Maximum Subarray
- Maximum Product Subarray
- Median of Two Sorted Arrays
- Merge K Sorted Lists
- Merge Sorted Array
- Merge Strings Alternately
- Merge Two Sorted Lists
- Min Cost Climbing Stairs
- Min Stack
- Minimum Window Substring
- Missing Number in Array
- Move All Zeros to End
- Next Greater Element
- Number of Connected Components
- Number of Islands
- Pacific Atlantic Water Flow
- Partition Equal Subset Sum
- Partition Labels
- Path Sum
- Permutation in String
- Power of X (Pow(x, n))
- Product of Array Except Self
- Recursion Foundations
- Remove Duplicates from Sorted Array
- Remove Nth Node From End of List
- Reorder List
- Reverse Linked List
- Reverse String
- Reverse Vowels of a String
- Reverse Words in a String
- Rotting Oranges
- Same Tree
- Search in Rotated Sorted Array
- Search Insert Position
- Sliding Window Maximum
- Sort an Array
- Sort Colors
- Sorting Algorithm Foundations
- Squares of a Sorted Array
- String Compression
- Subarray Sum Equals K
- Symmetric Tree
- 3Sum
- Top K Frequent Elements
- Trapping Rain Water
- Trees Concepts
- Two Sum II
- Two Sum
- Unique Paths
- Valid Anagram
- Valid Palindrome
- Valid Parentheses
- Validate Binary Search Tree
- Word Break
- Word Ladder