Home / DSA Intermediate
DSA Intermediate
Pattern recognition for real interviews: monotonic stacks, heaps, backtracking, tries, union-find, Dijkstra, greedy and the dynamic programming ladder — plus an LRU cache and a mini search engine capstone.
Start learning ❯❯112 lessons · 20 topics · 0/112 completed
Course contents
Work top to bottom — the sidebar is the course. Topics later in the list assume the ones before them.
DSA From Answers to Patterns
Intermediate · ⏱ 6 min · standalone lesson
Hashing in Depth
- DSA Hash Functions and Collisions
- DSA Amortised Analysis
- DSA Group Anagrams
- DSA Designing a Hash Map
- DSA Top K Frequent Elements
- DSA Valid Sudoku
Pointers and Windows, Deeper
- DSA 3Sum
- DSA Trapping Rain Water
- DSA Minimum Window Substring
- DSA Find All Anagrams in a String
- DSA Longest Repeating Character Replacement
- DSA Fruit into Baskets
Binary Search, Deeper
- DSA Searching a Rotated Sorted Array
- DSA Finding the Minimum in a Rotated Array
- DSA Finding a Peak Element
- DSA Koko Eating Bananas (Answer-Space Search)
- DSA Capacity to Ship Packages
- DSA Searching a 2D Matrix
- DSA A Time-Based Key-Value Store
Linked Lists, Deeper
- DSA Doubly Linked Lists
- DSA Where the Cycle Starts
- DSA Reordering a List
- DSA Adding Two Numbers as Lists
- DSA Copying a List with Random Pointers
- DSA Sorting a Linked List
Monotonic Stacks
- DSA The Monotonic Stack
- DSA Daily Temperatures
- DSA Largest Rectangle in a Histogram
- DSA Online Stock Span
- DSA Basic Calculator II
- DSA Decoding a Repeated String
- DSA Removing K Digits
Heaps
- DSA Heaps and Priority Queues
- DSA A Heap from Scratch
- DSA Kth Largest Element
- DSA Merging K Sorted Lists
- DSA Task Scheduler
- DSA Top K Frequent Words
- DSA K Closest Points to the Origin
Sorting, Finished
Start: DSA The Divide and Conquer Pattern ❯Backtracking
- DSA The Backtracking Template
- DSA Subsets
- DSA Permutations
- DSA Combination Sum
- DSA Generating Parentheses
- DSA Letter Combinations of a Phone Number
- DSA Word Search
- DSA Palindrome Partitioning
Trees, Deeper
- DSA Tree DFS Patterns
- DSA Diameter of a Binary Tree
- DSA Lowest Common Ancestor
- DSA Flattening a Binary Tree
- DSA Building a Tree from Traversals
- DSA Serializing a Binary Tree
- DSA Kth Smallest in a BST
- DSA A BST Iterator
Tries
- DSA Tries
- DSA Implementing a Trie
- DSA Replacing Words by Roots
- DSA Adding and Searching Words with Wildcards
Graphs, Deeper
- DSA Graph DFS Patterns
- DSA Cloning a Graph
- DSA Course Schedule
- DSA Topological Sort
- DSA Course Schedule II
- DSA Word Ladder
- DSA Rotten Oranges
- DSA Pacific Atlantic Water Flow
- DSA Shortest Path in a Binary Matrix
Union-Find
- DSA Union-Find
- DSA Number of Provinces
- DSA Accounts Merge
- DSA Redundant Connection
- DSA Graph Valid Tree
Greedy
- DSA What Greedy Means
- DSA Merging Intervals
- DSA Inserting an Interval
- DSA Meeting Rooms II
- DSA Jump Game
- DSA Jump Game II
Shortest Paths
- DSA Why BFS Stops Working on Weighted Graphs
- DSA Dijkstra's Algorithm
- DSA Network Delay Time
- DSA Cheapest Flights within K Stops
- DSA Path with Minimum Effort
DP — The Pattern Ladder
- DSA The DP Pattern
- DSA Coin Change
- DSA Coin Change II — Counting Ways
- DSA Longest Increasing Subsequence
- DSA Partition Equal Subset Sum
- DSA 0/1 Knapsack
DP — More Shapes
Start: DSA Unbounded Knapsack ❯Bits and Maths
- DSA Bits and Bitwise Operations
- DSA Bit Tricks
- DSA Counting Bits
- DSA GCD and the Euclidean Algorithm
- DSA The Sieve of Eratosthenes
- DSA Fast Power and Modular Arithmetic
- DSA Pow(x, n)
- DSA Happy Numbers
- DSA Combinatorics for Interviews
- DSA Majority Element by Voting (Boyer–Moore)
DSA LRU Cache
Intermediate · ⏱ 14 min · standalone lesson
DSA Intermediate Capstone — a Mini Search Engine
Intermediate · ⏱ 9 min · standalone lesson