# Learn DSA Through Visualizations

A visual guide to the most important patterns and approaches for the coding interview.

This guide uses interactive visualizations to teach you the most important algorithm patterns for the coding interview.

| Done | Problem / Lesson | Difficulty |
| --- | --- | --- |
|  | ###### Two Pointers (7 problems)<br>0% | Lesson |
|  | Container With Most Water | Medium |
|  | Two Sum (Sorted Array) | Medium |
|  | 3-Sum | Medium |
|  | Triangle Numbers | Medium |
|  | Move Zeroes | Easy |
|  | Sort Colors | Medium |
|  | Trapping Rain Water | Hard |
|  | ###### Sliding Window (5 problems)<br>0% | Lesson |
|  | Maximum Sum of Subarrays of Size K | Easy |
|  | Max Points You Can Obtain From Cards | Medium |
|  | Max Sum of Distinct Subarrays Length k | Medium |
|  | Longest Substring Without Repeating Characters | Medium |
|  | Longest Repeating Character Replacement | Medium |
|  | ###### Intervals (5 problems)<br>0% | Lesson |
|  | Can Attend Meetings | Easy |
|  | Insert Interval | Medium |
|  | Non-Overlapping Intervals | Medium |
|  | Merge Intervals | Medium |
|  | Employee Free Time | Hard |
|  | ###### Stack (5 problems)<br>0% | Lesson |
|  | Valid Parentheses | Easy |
|  | Decode String | Medium |
|  | Longest Valid Parentheses | Hard |
|  | Daily Temperatures | Medium |
|  | Largest Rectangle in Histogram | Hard |
|  | ###### Linked List (5 problems)<br>0% | Lesson |
|  | Linked List Cycle | Easy |
|  | Palindrome Linked List | Easy |
|  | Remove Nth Node From End of List | Medium |
|  | Reorder List | Medium |
|  | Swap Nodes in Pairs | Medium |
|  | ###### Binary Search (2 problems)<br>0% | Lesson |
|  | Apple Harvest (Koko Eating Bananas) | Medium |
|  | Search in Rotated Sorted Array | Medium |
|  | ###### Heap (4 problems)<br>0% | Lesson |
|  | Kth Largest Element in an Array | Medium |
|  | K Closest Points to Origin | Medium |
|  | Find K Closest Elements | Medium |
|  | Merge K Sorted Lists | Hard |
|  | ###### Depth-First Search (13 problems)<br>0% | Lesson |
|  | Maximum Depth of Binary Tree | Easy |
|  | Path Sum | Easy |
|  | Validate Binary Search Tree | Medium |
|  | Calculate Tilt | Easy |
|  | Diameter of a Binary Tree | Easy |
|  | Path Sum II | Medium |
|  | Longest Univalue Path | Medium |
|  | Copy Graph | Easy |
|  | Graph Valid Tree | Medium |
|  | Flood Fill | Easy |
|  | Number of Islands | Medium |
|  | Surrounded Regions | Medium |
|  | Pacific Atlantic Water Flow | Medium |
|  | ###### Breadth-First Search (8 problems)<br>0% | Lesson |
|  | Level Order Sum | Easy |
|  | Rightmost Node | Medium |
|  | Zigzag Level Order | Medium |
|  | Maximum Width of Binary Tree | Medium |
|  | Minimum Knight Moves | Medium |
|  | Rotting Oranges | Medium |
|  | 01-Matrix | Medium |
|  | Bus Routes | Hard |
|  | ###### Backtracking (4 problems)<br>0% | Lesson |
|  | Word Search | Medium |
|  | Subsets | Medium |
|  | Generate Parentheses | Medium |
|  | Combination Sum | Medium |
|  | ###### Graphs (2 problems)<br>0% | Lesson |
|  | Course Schedule | Medium |
|  | Course Schedule II | Medium |
|  | ###### Dynamic Programming (7 problems)<br>0% | Lesson |
|  | Counting Bits | Easy |
|  | Decode Ways | Medium |
|  | Unique Paths | Medium |
|  | Maximal Square | Medium |
|  | Longest Increasing Subsequence | Medium |
|  | Word Break | Medium |
|  | Maximum Profit in Job Scheduling | Medium |
|  | ###### Greedy Algorithms (3 problems)<br>0% | Lesson |
|  | Best Time to Buy and Sell Stock | Easy |
|  | Gas Station | Medium |
|  | Jump Game | Medium |
|  | ###### Trie (2 problems)<br>0% | Lesson |
|  | Implement Trie Methods | Medium |
|  | Prefix Matching | Medium |
|  | ###### Prefix Sum (2 problems)<br>0% | Lesson |
|  | Count Vowels in Substrings | Medium |
|  | Subarray Sum Equals K | Medium |
|  | ###### Matrices (3 problems)<br>0% | Lesson |
|  | Spiral Matrix | Medium |
|  | Rotate Image | Medium |
|  | Set Matrix Zeroes | Medium |
