Course Content
• 37 Chapters • 521 Lessons
1.
Introduction
2 lessons
Who Should Take This Course?
Course Overview
2.
Warmup
17 lessons
Why warmup?
Contains Duplicate (easy)
Solution: Contains Duplicate
Pangram (easy)
Solution: Pangram
Reverse Vowels (easy)
Solution: Reverse Vowels
Valid Palindrome (easy)
Solution: Valid Palindrome
Valid Anagram (easy)
Solution: Valid Anagram
Shortest Word Distance (easy)
Solution: Shortest Word Distance
Number of Good Pairs (easy)
Solution: Number of Good Pairs
Sqrt (medium)
Solution: Sqrt
3.
Pattern: Two Pointers
21 lessons
Introduction to Two Pointers Pattern
Pair with Target Sum (easy)
Solution: Pair with Target Sum
Find Non-Duplicate Number Instances (easy)
Solution: Find Non-Duplicate Number Instances
Squaring a Sorted Array (easy)
Solution: Squaring a Sorted Array
Triplet Sum to Zero (medium)
Solution: Triplet Sum to Zero
Triplet Sum Close to Target (medium)
Solution: Triplet Sum Close to Target
Triplets with Smaller Sum (medium)
Solution: Triplets with Smaller Sum
Dutch National Flag Problem (medium)
Solution: Dutch National Flag Problem
Problem Challenge 1: Quadruple Sum to Target (medium)
Solution: Problem Challenge 1: Quadruple Sum to Target
Problem Challenge 2: Comparing Strings containing Backspaces (medium)
Solution: Problem Challenge 2: Comparing Strings containing Backspaces
Problem Challenge 3: Minimum Window Sort (medium)
Solution: Problem Challenge 3: Minimum Window Sort
4.
Pattern: Fast & Slow Pointers
15 lessons
Introduction to Fast & Slow Pointers Pattern
LinkedList Cycle (easy)
Solution: LinkedList Cycle
Middle of the LinkedList (easy)
Solution: Middle of the LinkedList
Start of LinkedList Cycle (medium)
Solution: Start of LinkedList Cycle
Happy Number (medium)
Solution: Happy Number
Problem Challenge 1: Palindrome LinkedList (medium)
Solution: Problem Challenge 1: Palindrome LinkedList
Problem Challenge 2: Rearrange a LinkedList (medium)
Solution: Problem Challenge 2: Rearrange a LinkedList
Problem Challenge 3: Cycle in a Circular Array (hard)
Solution: Problem Challenge 3: Cycle in a Circular Array
5.
Pattern: Sliding Window
25 lessons
Introduction to Sliding Window Pattern
Maximum Sum Subarray of Size K (easy)
Solution: Maximum Sum Subarray of Size K
Smallest Subarray With a Greater Sum (easy)
Solution: Smallest Subarray With a Greater Sum
Longest Substring with K Distinct Characters (medium)
Solution: Longest Substring with K Distinct Characters
Fruits into Baskets (medium)
Solution: Fruits into Baskets
Longest Substring with Same Letters after Replacement (hard)
Solution: Longest Substring with Same Letters after Replacement
Longest Subarray with Ones after Replacement (hard)
Solution: Longest Subarray with Ones after Replacement
Problem Challenge 1: Permutation in a String (hard)
Solution: Problem Challenge 1: Permutation in a String
Problem Challenge 2: String Anagrams (hard)
Solution: Problem Challenge 2: String Anagrams
Problem Challenge 3: Smallest Window containing Substring (hard)
Solution: Problem Challenge 3: Smallest Window containing Substring
Problem Challenge 4: Words Concatenation (hard)
Solution: Problem Challenge 4: Words Concatenation
Problem Challenge 5: Counting Subarrays with Product Less than a Target (hard)
Solution Problem Challenge 5: Counting Subarrays with Product Less than a Target
Problem Challenge 6: Subarrays with Product Less than a Target (hard)
Solution Problem Challenge 5: : Subarrays with Product Less than a Target
6.
Pattern: Merge Intervals
15 lessons
Introduction to Merge Intervals Pattern
Merge Intervals (medium)
Solution: Merge Intervals
Insert Interval (medium)
Solution: Insert Interval
Intervals Intersection (medium)
Solution: Intervals Intersection
Conflicting Appointments (medium)
Solution: Conflicting Appointments
Problem Challenge 1: Minimum Meeting Rooms (hard)
Solution: Problem Challenge 1: Minimum Meeting Rooms
Problem Challenge 2: Maximum CPU Load (hard)
Solution: Problem Challenge 2: Maximum CPU Load
Problem Challenge 3: Employee Free Time (hard)
Solution: Problem Challenge 3: Employee Free Time
7.
Pattern: Cyclic Sort
17 lessons
Introduction to Cyclic Sort Pattern
Cyclic Sort (easy)
Solution: Cyclic Sort
Find the Missing Number (easy)
Solution: Find the Missing Number
Find all Missing Numbers (easy)
Solution: Find all Missing Numbers
Find the Duplicate Number (easy)
Solution: Find the Duplicate Number
Find all Duplicate Numbers (easy)
Solution: Find all Duplicate Numbers
Problem Challenge 1: Find the Corrupt Pair (easy)
Solution: Problem Challenge 1: Find the Corrupt Pair
Problem Challenge 2: Find the Smallest Missing Positive Number (medium)
Solution: Problem Challenge 2: Find the Smallest Missing Positive Number
Problem Challenge 3: Find the First K Missing Positive Numbers (hard)
Solution: Problem Challenge 3: Find the First K Missing Positive Numbers
8.
Pattern: In-place Reversal of a Linked List
11 lessons
Introduction to In-place Reversal of a Linked List Pattern
Reverse a LinkedList (easy)
Solution: Reverse a LinkedList
Reverse a Sub-list (medium)
Solution: Reverse a Sub-list
Reverse every K-element Sub-list (medium)
Solution: Reverse every K-element Sub-list
Problem Challenge 1: Reverse alternating K-element Sub-list (medium)
Solution: Problem Challenge 1: Reverse alternating K-element Sub-list
Problem Challenge 2: Rotate a LinkedList (medium)
Solution: Problem Challenge 2: Rotate a LinkedList
9.
Pattern: Stacks
16 lessons
Introduction to Stack
Implementing Stack Data Structure
Using Built-in Stack in Different Programming Languages
Applications of Stack
Problem 1: Balanced Parentheses (easy)
Solution: Balanced Parentheses
Problem 2: Reverse a String (easy)
Solution: Reverse a String
Problem 3: Decimal to Binary Conversion (medium)
Solution: Decimal to Binary Conversion
Problem 4: Next Greater Element (easy)
Solution: Next Greater Element
Problem 5: Sorting a Stack (easy)
Solution: Sorting a Stack
Problem 6: Simplify Path (medium)
Solution: Simplify Path
10.
Pattern: Monotonic Stack
15 lessons
Introduction to Monotonic Stack
Remove Nodes From Linked List (easy)
Solution: Remove Nodes From Linked List
Remove All Adjacent Duplicates In String (easy)
Solution: Remove All Adjacent Duplicates In String
Next Greater Element (easy)
Solution: Next Greater Element
Daily Temperatures (easy)
Solution: Daily Temperatures
Remove All Adjacent Duplicates in String II (medium)
Solution: Remove All Adjacent Duplicates in String II
Sum of Subarray Minimums (medium)
Solution: Sum of Subarray Minimums
Remove K Digits (hard)
Solution: Remove K Digits
11.
Pattern: Hash Maps
13 lessons
Introduction to Hash Tables
Hashing, Collisions, Overflow, and Resizing in Hashtables
Using Hashtable in Different Programming Languages
Problem 1: First Non-repeating Character (easy)
Solution: First Non-repeating Character (easy)
Problem 2: Largest Unique Number (easy)
Solution: Largest Unique Number (easy)
Problem 3: Maximum Number of Balloons (easy)
Solution: Maximum Number of Balloons (easy)
Problem 4: Longest Palindrome(easy)
Solution: Longest Palindrome(easy)
Problem 5: Ransom Note (easy)
Solution: Ransom Note (easy)
12.
Level Order Traversal Pattern
New
15 lessons
Introduction to Level Order Traversal Pattern
Reverse Level Order Traversal (easy)
Solution: Reverse Level Order Traversal
Find Largest Value in Each Tree Row (medium)
Solution: Find Largest Value in Each Tree Row
Maximum Width of Binary Tree (medium)
Solution: Maximum Width of Binary Tree
Maximum Level Sum of a Binary Tree (medium)
Solution: Maximum Level Sum of a Binary Tree
Zigzag Traversal (medium)
Solution: Zigzag Traversal
Even Odd Tree (medium)
Solution: Even Odd Tree
N-ary Tree Level Order Traversal (hard)
Solution: N-ary Tree Level Order Traversal
13.
Pattern: Tree Breadth First Search
19 lessons
Introduction to Tree Breadth First Search Pattern
Binary Tree Level Order Traversal (easy)
Solution: Binary Tree Level Order Traversal
Reverse Level Order Traversal (easy)
Solution: Reverse Level Order Traversal
Zigzag Traversal (medium)
Solution: Zigzag Traversal
Level Averages in a Binary Tree (easy)
Solution: Level Averages in a Binary Tree
Minimum Depth of a Binary Tree (easy)
Solution: Minimum Depth of a Binary Tree
Level Order Successor (easy)
Solution: Level Order Successor
Connect Level Order Siblings (medium)
Solution: Connect Level Order Siblings
Problem Challenge 1: Connect All Level Order Siblings (medium)
Solution: Problem Challenge 1: Connect All Level Order Siblings
Problem Challenge 2: Right View of a Binary Tree (easy)
Solution: Problem Challenge 2: Right View of a Binary Tree
14.
Pattern: Tree Depth First Search
15 lessons
Introduction to Tree Depth First Search Pattern
Binary Tree Path Sum (easy)
Solution: Binary Tree Path Sum
All Paths for a Sum (medium)
Solution: All Paths for a Sum
Sum of Path Numbers (medium)
Solution: Sum of Path Numbers
Path With Given Sequence (medium)
Solution: Path With Given Sequence
Count Paths for a Sum (medium)
Solution: Count Paths for a Sum
Problem Challenge 1: Tree Diameter (medium)
Solution: Problem Challenge 1: Tree Diameter
Problem Challenge 2: Path with Maximum Sum (hard)
Solution: Problem Challenge 2: Path with Maximum Sum
15.
Pattern: Graphs
15 lessons
Introduction to Graph
Types of Graph
Graph Representations
Graph Traversal - Depth First Search(DFS)
Graph Traversal - Breadth First Search (BFS)
Find if Path Exists in Graph(easy)
Solution: Find if Path Exists in Graph(easy)
Number of Provinces (medium)
Solution: Number of Provinces
Find Eventual Safe States (medium)
Solution: Find Eventual Safe States
Minimum Number of Vertices to Reach All Nodes(medium)
Solution: Minimum Number of Vertices to Reach All Nodes(medium)
Bus Routes (hard)
Solution: Bus Routes
16.
Pattern: Island (Matrix Traversal)
15 lessons
Introduction to Island Pattern
Number of Islands (easy)
Solution: Number of Islands
Biggest Island (easy)
Solution: Biggest Island
Flood Fill (easy)
Solution: Flood Fill
Number of Closed Islands (easy)
Solution: Number of Closed Islands
Problem Challenge 1 (easy)
Solution: Problem Challenge 1
Problem Challenge 2 (medium)
Solution: Problem Challenge 2
Problem Challenge 3 (medium)
Solution: Problem Challenge 3
17.
Pattern: Two Heaps
9 lessons
Introduction to Two Heaps Pattern
Find the Median of a Number Stream (medium)
Solution: Find the Median of a Number Stream
Sliding Window Median (hard)
Solution: Sliding Window Median
Maximize Capital (hard)
Solution: Maximize Capital
Problem Challenge 1: Next Interval (hard)
Solution: Problem Challenge 1: Next Interval
18.
Pattern: Subsets
19 lessons
Introduction to Subsets Pattern
Subsets (easy)
Solution: Subsets
Subsets With Duplicates (easy)
Solution: Subsets With Duplicates
Permutations (medium)
Solution: Permutations
String Permutations by changing case (medium)
Solution: String Permutations by changing case
Balanced Parentheses (hard)
Solution: Balanced Parentheses
Unique Generalized Abbreviations (hard)
Solution: Unique Generalized Abbreviations
Problem Challenge 1: Evaluate Expression (hard)
Solution: Problem Challenge 1: Evaluate Expression
Problem Challenge 2: Structurally Unique Binary Search Trees (hard)
Solution: Problem Challenge 2: Structurally Unique Binary Search Trees
Problem Challenge 3: Count of Structurally Unique Binary Search Trees (hard)
Solution: Problem Challenge 3: Count of Structurally Unique Binary Search Trees
19.
Pattern: Modified Binary Search
21 lessons
Introduction to Modified Binary Search Pattern
Order-agnostic Binary Search (easy)
Solution: Order-agnostic Binary Search
Ceiling of a Number (medium)
Solution: Ceiling of a Number
Next Letter (medium)
Solution: Next Letter
Number Range (medium)
Solution: Number Range
Search in a Sorted Infinite Array (medium)
Solution: Search in a Sorted Infinite Array
Minimum Difference Element (medium)
Solution: Minimum Difference Element
Bitonic Array Maximum (easy)
Solution: Bitonic Array Maximum
Problem Challenge 1: Search Bitonic Array (medium)
Solution: Problem Challenge 1: Search Bitonic Array
Problem Challenge 2: Search in Rotated Array (medium)
Solution: Problem Challenge 2: Search in Rotated Array
Problem Challenge 3: Rotation Count (medium)
Solution: Problem Challenge 3: Rotation Count
20.
Pattern: Bitwise XOR
9 lessons
Introduction to Bitwise XOR Pattern
Single Number (easy)
Solution: Single Number
Two Single Numbers (medium)
Solution: Two Single Numbers
Complement of Base 10 Number (medium)
Solution: Complement of Base 10 Number
Problem Challenge 1: Flip and Invert an Image (hard)
Solution: Problem Challenge 1: Flip and Invert an Image
21.
Pattern: Top 'K' Elements
29 lessons
Introduction to Top 'K' Elements Pattern
Top 'K' Numbers (easy)
Solution: Top 'K' Numbers
Kth Smallest Number (easy)
Solution: Kth Smallest Number
'K' Closest Points to the Origin (easy)
Solution: 'K' Closest Points to the Origin
Connect Ropes (easy)
Solution: Connect Ropes
Top 'K' Frequent Numbers (medium)
Solution: Top 'K' Frequent Numbers
Frequency Sort (medium)
Solution: Frequency Sort
Kth Largest Number in a Stream (medium)
Solution: Kth Largest Number in a Stream
'K' Closest Numbers (medium)
Solution: 'K' Closest Numbers
Maximum Distinct Elements (medium)
Solution: Maximum Distinct Elements
Sum of Elements (medium)
Solution: Sum of Elements
Rearrange String (hard)
Solution: Rearrange String
Problem Challenge 1: Rearrange String K Distance Apart (hard)
Solution: Problem Challenge 1: Rearrange String K Distance Apart
Problem Challenge 2: Scheduling Tasks (hard)
Solution: Problem Challenge 2: Scheduling Tasks
Problem Challenge 3: Frequency Stack (hard)
Solution: Problem Challenge 3: Frequency Stack
22.
Pattern: K-way Merge
11 lessons
Introduction to K-way Merge Pattern
Merge K Sorted Lists (medium)
Solution: Merge K Sorted Lists
Kth Smallest Number in M Sorted Lists (medium)
Solution: Kth Smallest Number in M Sorted Lists
Kth Smallest Number in a Sorted Matrix (hard)
Solution: Kth Smallest Number in a Sorted Matrix
Smallest Number Range (hard)
Solution: Smallest Number Range
Problem Challenge 1: K Pairs with Largest Sums (hard)
Solution: Problem Challenge 1: K Pairs with Largest Sum
23.
Pattern: Greedy Algorithms
13 lessons
Introduction to Greedy Algorithm
Valid Palindrome II (easy)
Solution: Valid Palindrome II
Maximum Length of Pair Chain (medium)
Solution: Maximum Length of Pair Chain
Minimum Add to Make Parentheses Valid (medium)
Solution: Minimum Add to Make Parentheses Valid
Remove Duplicate Letters (medium)
Solution: Remove Duplicate Letters
Largest Palindromic Number (medium)
Solution: Largest Palindromic Number
Removing Minimum and Maximum From Array (medium)
Solution: Removing Minimum and Maximum From Array
24.
Pattern: 0/1 Knapsack (Dynamic Programming)
14 lessons
What is Dynamic Programming?
Introduction to 0/1 Knapsack Pattern
0/1 Knapsack (medium)
Solution: 0/1 Knapsack
Equal Subset Sum Partition (medium)
Solution: Equal Subset Sum Partition
Subset Sum (medium)
Solution: Subset Sum
Minimum Subset Sum Difference (hard)
Solution: Minimum Subset Sum Difference
Problem Challenge 1: Count of Subset Sum (hard)
Solution: Problem Challenge 1: Count of Subset Sum
Problem Challenge 2: Target Sum (hard)
Solution: Problem Challenge 2: Target Sum
25.
Pattern: Backtracking
11 lessons
Introduction to Backtracking Pattern
Combination Sum (medium)
Solution: Combination Sum
Word Search (medium)
Solution: Word Search
Factor Combinations (medium)
Solution: Factor Combinations
Split a String Into the Max Number of Unique Substrings (medium)
Solution: Split a String Into the Max Number of Unique Substrings
Sudoku Solver (hard)
Solution: Sudoku Solver
26.
Pattern: Trie
11 lessons
Introduction to Trie
Implement Trie (Prefix Tree) (medium)
Solution: Implement Trie (Prefix Tree)
Index Pairs of a String (easy)
Solution: Index Pairs of a String
Design Add and Search Words Data Structure (medium)
Solution: Design Add and Search Words Data Structure
Extra Characters in a String (medium)
Solution: Extra Characters in a String
Search Suggestions System (medium)
Solution: Search Suggestions System
27.
Pattern: Topological Sort (Graph)
15 lessons
Introduction to Topological Sort
Topological Sort (medium)
Solution: Topological Sort
Tasks Scheduling (medium)
Solution: Tasks Scheduling
Tasks Scheduling Order (medium)
Solution: Tasks Scheduling Order
All Tasks Scheduling Orders (hard)
Solution: All Tasks Scheduling Orders
Alien Dictionary (hard)
Solution: Alien Dictionary
Problem Challenge 1: Reconstructing a Sequence (hard)
Solution: Problem Challenge 1: Reconstructing a Sequence
Problem Challenge 2: Minimum Height Trees (hard)
Solution: Problem Challenge 2: Minimum Height Trees
28.
Pattern: Union Find
New
9 lessons
Introduction to Union Find Pattern
Redundant Connection (medium)
Solution: Redundant Connection
Number of Provinces (medium)
Solution: Number of Provinces
Is Graph Bipartite? (medium)
Solution: Is Graph Bipartite?
Path With Minimum Effort (medium)
Solution: Path With Minimum Effort
29.
Pattern: Ordered Set
New
9 lessons
Introduction to Ordered Set Pattern
Merge Similar Items (easy)
Solution: Merge Similar Items
132 Pattern (medium)
Solution: 132 Pattern
My Calendar I (medium)
Solution: My Calendar I
Longest Continuous Subarray (medium)
Solution: Longest Continuous Subarray
30.
Pattern: Prefix Sum
New
15 lessons
Introduction Prefix Sum Pattern
Find the Middle Index in Array (easy)
Solution: Find the Middle Index in Array
Left and Right Sum Differences (easy)
Solution: Left and Right Sum Differences (easy)
Maximum Size Subarray Sum Equals k (medium)
Solution: Maximum Size Subarray Sum Equals k
Binary Subarrays With Sum (medium)
Solution: Binary Subarrays With Sum
Subarray Sums Divisible by K (medium)
Solution: Subarray Sums Divisible by K
Sum of Absolute Differences in a Sorted Array (medium)
Solution: Sum of Absolute Differences in a Sorted Array
Subarray Sum Equals K (medium)
Solution: Subarray Sum Equals K
31.
Pattern: Multi-threaded
7 lessons
Introduction to Multi-threaded Pattern
Same Tree (medium)
Solution: Same Tree
Invert Binary Tree (medium)
Solution: Invert Binary Tree
Binary Search Tree Iterator (medium)
Solution: Binary Search Tree Iterator
32.
Miscellaneous
2 lessons
Kth Smallest Number (hard)
Solution: Kth Smallest Number
33.
Revision
1 lesson
Coding Patterns: A Cheat Sheet
34.
Test Your Knowledge (Easy)
13 lessons
Introduction
Two Sum (easy)
Solution: Two Sum
Valid Perfect Square (easy)
Solution: Valid Perfect Square
Best Time to Buy and Sell (easy)
Solution: Best Time to Buy and Sell Stock
Valid Parentheses (easy)
Solution: Valid Parentheses
Subtree of Another Tree (easy)
Solution: Subtree of Another Tree
Design Parking System (easy)
Solution: Design Parking System
35.
Test Your Knowledge (Medium)
52 lessons
Daily Temperatures (medium)
Solution: Daily Temperatures
Group Anagrams (medium)
Solution: Group Anagrams
Decode String (medium)
Solution: Decode String
Valid Sudoku (medium)
Solution: Valid Sudoku
Product of Array Except Self (medium)
Solution: Product of Array Except Self
Maximum Product Subarray (medium)
Solution: Maximum Product Subarray
Container With Most Water (medium)
Solution: Container With Most Water
Palindromic Substrings (medium)
Solution: Palindromic Substrings
Remove Nth Node From End of List (medium)
Solution: Remove Nth Node From End of List
Find Minimum in Rotated Sorted Array (medium)
Solution: Find Minimum in Rotated Sorted Array
Pacific Atlantic Water Flow (medium)
Solution: Pacific Atlantic Water Flow
Validate Binary Search Tree (medium)
Solution: Validate Binary Search Tree
Construct Binary Tree from Preorder and Inorder Traversal (medium)
Solution: Construct Binary Tree from Preorder and Inorder Traversal
Clone Graph (medium)
Solution: Clone Graph
House Robber II (medium)
Solution: House Robber II
Decode Ways (medium)
Solution: Decode Ways
Unique Paths (medium)
Solution: Unique Paths
Word Break (medium)
Solution: Word Break
Lowest Common Ancestor of a Binary Search Tree (medium)
Solution: Lowest Common Ancestor of a Binary Search Tree
Longest Consecutive Sequence (medium)
Solution: Longest Consecutive Sequence
Meeting Rooms II (medium)
Solution: Meeting Rooms II
Encode and Decode Strings
Solution: Encode and Decode Strings
Number of Connected Components in an Undirected Graph
Solution: Number of Connected Components in an Undirected Graph
Graph Valid Tree (medium)
Solution: Graph Valid Tree
Implement Trie (Prefix Tree) (medium)
Solution: Implement Trie (Prefix Tree)
Design Add and Search Words Data Structure (medium)
Solution: Design Add and Search Words Data Structure
36.
Test Your Knowledge (Hard)
4 lessons
Longest Valid Parentheses (hard)
Solution: Longest Valid Parentheses
Serialize and Deserialize Binary Tree (hard)
Solution: Serialize and Deserialize Binary Tree
Module 1
Two Pointers & Co.
Learn and practice the Two Pointers, Fast and Slow Pointers, and Modified Binary Search patterns to
solve coding interview problems.
Start Learning
Hide Content
1
Two Pointers
Introduction to Two Pointers
Valid Palindrome
Solution: Valid Palindrome
3Sum
Solution: 3Sum
Container with Most Water
Solution: Container with Most Water
Product of Array Except Self
Solution: Product of Array Except Self
Remove Nth Node from End of List
Solution: Remove Nth Node from End of List
Additional Resources on Two Pointers
2
Fast and Slow Pointers
Introduction to Fast and Slow Pointers
Linked List Cycle
Solution: Linked List Cycle
Additional Resources on Fast and Slow Pointers
3
Modified Binary Search
Introduction to Modified Binary Search
Search in Rotated Sorted Array
Solution: Search in Rotated Sorted Array
Find Minimum in Rotated Sorted Array
Solution: Find Minimum in Rotated Sorted Array
Additional Resources on Modified Binary Search
4
Conclusion
Final Remarks
Module 2
Basic Data Structures
Learn and practice the In-place Reversal of a Linked List, Stacks, and Matrices patterns to solve
coding interview problems.
Start Learning
Hide Content
1
In-Place Manipulation of a Linked List
Introduction to In-Place Manipulation of a Linked List
Reorder List
Solution: Reorder List
Reverse Linked List
Solution: Reverse Linked List
Additional Resources on In-place Reversal of a Linked List
2
Stacks
Introduction to Stacks
Valid Parentheses
Solution: Valid Parentheses
Additional Resources on Stacks
3
Matrices
Introduction to Matrices
Set Matrix Zeroes
Solution: Set Matrix Zeroes
Rotate Image
Solution: Rotate Image
Spiral Matrix
Solution: Spiral Matrix
Additional Resources on Matrices
4
Conclusion
Final Remarks
Module 3
Exploring the Solution Space
Learn and practice the Tree Depth-First Search, Tree Breadth-First Search, and Backtracking patterns
to solve coding interview problems.
Start Learning
Hide Content
1
Tree Breadth-first Search
Introduction to Tree Breadth-First Search
Binary Tree Level Order Traversal
Solution: Binary Tree Level Order Traversal
Additional Resources on Tree Breadth-first Search
2
Tree Depth-first Search
Introduction to Tree Depth-First Search
Serialize and Deserialize Binary Tree
Solution: Serialize and Deserialize Binary Tree
Binary Tree Maximum Path Sum
Solution: Binary Tree Maximum Path Sum
Build Binary Tree from Preorder and Inorder Traversal
Solution: Build Binary Tree from Preorder and Inorder Traversal
Invert Binary Tree
Solution: Invert Binary Tree
Kth Smallest Element in a BST
Solution: Kth Smallest Element in a BST
Lowest Common Ancestor of a Binary Tree
Solution: Lowest Common Ancestor of a Binary Tree
Maximum Depth of Binary Tree
Solution: Maximum Depth of Binary Tree
Same Tree
Solution: Same Tree
Subtree of Another Tree
Solution: Subtree of Another Tree
Validate Binary Search Tree
Solution: Validate Binary Search Tree
Additional Resources on Tree Depth-first Search
3
Backtracking
Introduction to Backtracking
Word Search
Solution: Word Search
Additional Resources on Backtracking
4
Conclusion
Final Remarks
Module 4
Heaps, Hashing, and Tracking
Learn and practice the Knowing What to Track, Top K Elements, and the Heaps patterns to solve
coding interview problems.
Start Learning
Hide Content
1
Knowing What to Track
Introduction to Knowing What to Track
Valid Anagram
Solution: Valid Anagram
Contains Duplicate
Solution: Contains Duplicate
Group Anagrams
Solution: Group Anagrams
Two Sum
Solution: Two Sum
Additional Resources on Knowing What to Track
2
Top K Elements
Introduction to Top K Elements
Top K Frequent Elements
Solution: Top K Frequent Elements
Additional Resources on Top K Elements
3
Heaps
Introduction to Heaps
Find Median from Data Stream
Solution: Find Median from Data Stream
Additional Resources on Heaps
4
Conclusion
Final Remarks
Module 5
Fusion
Learn and practice the Merge Intervals and K-way Merge patterns to solve coding interview
problems.
Start Learning
Hide Content
1
Merge Intervals
Introduction to Merge Intervals
Insert Interval
Solution: Insert Interval
Merge Intervals
Solution: Merge Intervals
Meeting Rooms
Solution: Meeting Rooms
Meeting Rooms II
Solution: Meeting Rooms II
Non-overlapping Intervals
Solution: Non-overlapping Intervals
Additional Resources on Merge Intervals
2
K-way Merge
Introduction to K-way Merge
Merge Sorted Array
Solution: Merge Sorted Array
Merge K Sorted Lists
Solution: Merge K Sorted Lists
Additional Resources on K-way Merge
3
Conclusion
Final Remarks
Module 6
Optimization Techniques
Learn and practice the Greedy Techniques and Dynamic Programming patterns to solve coding
interview problems.
Start Learning
Hide Content
1
Greedy Techniques
Introduction to Greedy Techniques
Jump Game
Solution: Jump Game
Additional Resources on Greedy Techniques
2
Dynamic Programming
Introduction to Dynamic Programming
Coin Change
Solution: Coin Change
Longest Increasing Subsequence
Solution: Longest Increasing Subsequence
Climbing Stairs
Solution: Climbing Stairs
Combination Sum
Solution: Combination Sum
Counting Bits
Solution: Counting Bits
House Robber
Solution: House Robber
House Robber II
Solution: House Robber II
Longest Common Subsequence
Solution: Longest Common Subsequence
Longest Palindromic Substring
Solution: Longest Palindromic Substring
Maximum Product Subarray
Solution: Maximum Product Subarray
Palindromic Substrings
Solution: Palindromic Substrings
Unique Paths
Solution: Unique Paths
Word Break
Solution: Word Break
Decode Ways
Solution: Decode Ways
Maximum Subarray
Solution: Maximum Subarray
Additional Resources on Dynamic Programming
3
Conclusion
Final Remarks
Module 7
Advanced Data Structures and Sorting Techniques
Learn and practice Tries, Graphs, Cyclic Sort, and Topological Sort patterns to solve coding interview
problems.
Start Learning
Hide Content
1
Trie
Introduction to Trie
Implement Trie (Prefix Tree)
Solution: Implement Trie (Prefix Tree)
Design Add and Search Words Data Structure
Solution: Design Add and Search Words Data Structure
Word Search II
Solution: Word Search II
Additional Resources on Trie
2
Graphs
Introduction to Graphs
Pacific Atlantic Water Flow
Solution: Pacific Atlantic Water Flow
Clone Graph
Solution: Clone Graph
Graph Valid Tree
Solution: Graph Valid Tree
Additional Resources on Graphs
3
Topological Sort
Introduction to Topological Sort
Alien Dictionary
Solution: Alien Dictionary
Course Schedule
Solution: Course Schedule
Additional Resources on Topological Sort
4
Cyclic Sort
Introduction to Cyclic Sort
Missing Number
Solution: Missing Number
Additional Resources on Cyclic Sort
5
Conclusion
Final Remarks
Module 8
Elegant by Design
Learn and practice the Bitwise Manipulation, Sliding Window, and Union Find patterns to solve
coding interview problems.
Start Learning
Hide Content
1
Bitwise Manipulation
Introduction to Bitwise Manipulation
Encode and Decode Strings
Solution: Encode and Decode Strings
Number of 1 Bits
Solution: Number of 1 Bits
Reverse Bits
Solution: Reverse Bits
Sum of Two Integers
Solution: Sum of Two Integers
Additional Resources on Bitwise Manipulation
2
Sliding Window
Introduction to Sliding Window
Best Time to Buy and Sell Stock
Solution: Best Time to Buy and Sell Stock
Longest Substring without Repeating Characters
Solution: Longest Substring without Repeating Characters
Longest Repeating Character Replacement
Solution: Longest Repeating Character Replacement
Minimum Window Substring
Solution: Minimum Window Substring
Additional Resources on Sliding Window
3
Union Find
Introduction to Union Find
Number of Islands
Solution: Number of Islands
Longest Consecutive Sequence
Solution: Longest Consecutive Sequence
Number of Connected Components in an Undirected Graph
Solution: Number of Connected Components in an Undirected Graph
Additional Resources on Union Find
4
Content
44 Lessons56 Quizzes
Collapse All
1.
Introduction to Frontend System Design
Get familiar with frontend System Design for scalable, efficient, and engaging applications.
What Is Frontend System Design?The Role of Frontend System Design in Modern Applications
2.
Nonfunctional Requirements
Build frontend systems by prioritizing performance, accessibility, localization, and maintainability.
Performance in Frontend SystemsAccessibility and Compatibility in Frontend SystemsLocalization and
Internationalization in FrontendDesigning Maintainable Frontend Systems
3.
Fundamentals of Frontend System Design
Explore browser rendering, CSS positioning, DOM manipulation, and state management for
optimized web applications.
Understanding the Content Rendering Process in BrowsersBrowser Formatting Contexts and CSS
Positioning EssentialsDOM Manipulation and Virtual DOM FundamentalsState Management in
Frontend System Design
4.
Performance and Optimization
Enhance frontend performance through optimization techniques for speed, rendering, and user
experience.
Optimizing Network Performance for Frontend Systems
Optimizing Rendering for PerformanceOptimizing Media Rendering for Faster FrontendsStrategies to
Improve Page Load TimeOptimizing JavaScript Performance for Scalable ApplicationsVirtualization for
Optimizing PerformanceEfficient List Rendering: Infinite Scroll vs. PaginationThe Role of Cookies and
Sessions in State ManagementMonitoring in Frontend System Design
5.
API Architecture Styles, Protocols, and Data Formats
Expand on client-server communication protocols, API styles, and data formats for effective frontend
interactions.
Client-Server Communication ProtocolsAPI Architectural Styles for Frontend CommunicationData
Formats for Communication
6.
Frontend Design Patterns and Architectures
Explore architectural patterns and strategies for effective frontend System Design.
Architecture Patterns in Frontend System DesignSPAs vs. MPAs: Choosing the Right Frontend
Architecture
Scaling Development Using Micro-Frontend ArchitectureComponent-Based Architecture in Frontend
SystemsData Retrieval in Frontend System DesignData Flow Patterns in Frontend System Design
7.
Security in Frontend System Design
Uncover frontend security through authentication, authorization, and secure data practices.
Authentication and Authorization in Frontend SystemsSecure Data Transmission, Content Policies,
and Vulnerabilities
8.
Frontend System Design Framework
Unravel the REDCAAP framework for scalable and efficient frontend System Design.
The REDCAAP Approach for Designing Frontend Systems
9.
Newsfeed Frontend System Design
Design scalable, responsive newsfeed frontends with real-time updates and personalized content
delivery.
Requirements of a Newsfeed SystemFrontend System Design of NewsfeedAPI Design and Data Model
for the Newsfeed SystemEvaluation and Optimization of Newsfeed System
10.
Video Streaming Frontend System Design
Build an efficient video streaming interface that optimizes real-time performance and user
experience.
Requirements of a Streaming System
Frontend System Design of Streaming SystemAPI Design and Data Model for Streaming
SystemEvaluation and Optimization of a Streaming Frontend
11.
Chat Application Frontend System Design
Create a high-performing chat frontend optimized for responsiveness, user engagement, and low-
latency messaging.
Requirements of the Chat ApplicationFrontend System Design of a Chat ApplicationAPI Design and
Data Model for Chat ApplicationEvaluation and Optimization of a Chat Application
12.
Conclusion
Recap essential strategies for building scalable frontend systems and explore further resources for
continued development.
Wrapping Up the Frontend System Design