0% found this document useful (0 votes)
36 views37 pages

Grokking Coding Patterns

Uploaded by

student -1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views37 pages

Grokking Coding Patterns

Uploaded by

student -1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

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

You might also like