Learning Paths
Coding Interview Roadmap
Mastering Algorithms, Data Structures, and Problem-Solving Using Coding Patterns.
This comprehensive guide is designed to equip aspiring software engineers with the necessary skills and knowledge to ace technical interviews. It dives deep into the core concepts of algorithms, data structures, and problem-solving techniques, with a special focus on real-world interview scenarios. It provides a unique blend of theory and practical exercises including coding challenges, to ensure a thorough understanding and application of the concepts.
Modules:
5
Annual Subscription
$26
.25
/mo
billed yearly ($315)
Get instant access to all current and upcoming courses for one year.
OR
Lifetime Access - This Bundle
$383
Get lifetime access to this bundle only.
Lifetime Access - All Courses
$1082
Get instant access to all current and future courses for lifetime.
Certification on completing the course.
Learning Objectives
Comprehensive Coverage: The guide covers all essential topics required for technical interviews, including algorithms, data structures, and problem-solving techniques.
Practical Exercises: The guide offers numerous coding challenges to provide hands-on experience and reinforce learning.
Expert Guidance: Learn from industry professionals who have been on both sides of the interview table and can provide valuable insights and tips.
Flexibility: Learn at your own pace with this online guide, which you can access anytime, anywhere.
Community Support: Join a community of like-minded learners, share your doubts, discuss ideas, and learn together.
Career Advancement: This guide could be a stepping stone towards landing your dream job in the tech industry.
Path Contents
• 76 Chapters • 937 Lessons
Grokking Data Structures & Algorithms for Coding Interviews
Unlock Coding Interview Success: Dive Deep into Data Structures and Algorithms!
• 16 Chapters • 194 Lessons
Hide Contents
1.
Introduction to Data Structures
4 lessons
Who Should Take This Course?
Understanding Data Structures
Types of Data Structures
An Overview of Big-O
2.
Array
10 lessons
Introduction to Arrays
Arrays in Different Programming Languages
Problem 1: Running Sum of 1d Array (easy)
Solution: Running Sum of 1d Array (easy)
Problem 2: Contains Duplicate (easy)
Solution: Contains Duplicate
Problem 3: Left and Right Sum Differences (easy)
Solution: Left and Right Sum Differences (easy)
Problem 4: Find the Highest Altitude (easy)
Solution: Find the Highest Altitude (easy)
3.
Matrix
7 lessons
Introduction to Matrix
Problem 1: Richest Customer Wealth (easy)
Solution: Richest Customer Wealth (easy)
Problem 2: Matrix Diagonal Sum (easy)
Solution: Matrix Diagonal Sum (easy)
Problem 3: Row With Maximum Ones(easy)
Solution: Row With Maximum Ones(easy)
4.
Stack
22 lessons
Introduction to Stack
Operations on Stack
Implementing Stack Data Structure
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
Problem 7: Remove All Adjacent Duplicates In String (medium)
Solution: Remove All Adjacent Duplicates In String
Problem 8: Removing Stars From a String (medium)
Solution: Removing Stars From a String
Problem 9: Make The String Great (easy)
Solution: Make The String Great
5.
Queue
16 lessons
Introduction to Queues
Working with Simple Queues
Diving Deeper – Circular Queues and Deques
Applications and Advanced Concepts
Reverse a Queue (easy)
Solution: Reverse a Queue
Implement Stack using Queues (easy)
Solution: Implement Stack using Queues
Generate Binary Numbers from 1 to N
Solution: Generate Binary Numbers from 1 to N
Zigzag Iterator (medium)
Solution: Zigzag Iterator
Max of All Subarrays of Size 'k' (medium)
Solution: Max of All Subarrays of Size 'k'
Palindrome Check using Queue (easy)
Solution: Palindrome Check using Queue
6.
LinkedList
13 lessons
Introduction to LinkedList
Operations on Singly Linked List
Operations on Doubly Linked List
Problem 1: Reverse Linked List (easy)
Solution: Reverse Linked List
Problem 2: Remove Duplicates from Sorted List (easy)
Solution: Remove Duplicates from Sorted List
Problem 3: Merge Two Sorted Lists (easy)
Solution: Merge Two Sorted Lists
Problem 4: Find if Doubly Linked List is a Palindrome (easy)
Solution: Find if Doubly Linked List is a Palindrome
Problem 5: Swap Nodes in Pairs (medium)
Solution: Swap Nodes in Pairs
7.
Tree & Binary Search Tree
16 lessons
Introduction to Tree
Binary Search Tree (BST)
Maximum Depth (or Height) of Binary Tree (easy)
Solution: Maximum Depth (or Height) of Binary Tree
Balanced Binary Tree (easy)
Solution: Balanced Binary Tree
Minimum Difference Between BST Nodes (easy)
Solution: Minimum Difference Between BST Nodes
Range Sum of BST (easy)
Solution: Range Sum of BST
Kth Smallest Element in a BST (medium)
Solution: Kth Smallest Element in a BST
Closest Binary Search Tree Value (medium)
Solution: Closest Binary Search Tree Value
Merge Two Binary Trees (medium)
Solution: Merge Two Binary Trees
8.
Hash Table (aka Hashmap or Dictionary)
13 lessons
Introduction to Hashing
Introduction to Hash Tables
Issues with Hash Tables
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)
9.
HashSet
9 lessons
Introduction to HashSets
Problem 1: Counting Elements (easy)
Solution: Counting Elements (easy)
Problem 2: Jewels and Stones (easy)
Solution: Jewels and Stones (easy)
Problem 3: Unique Number of Occurrences (easy)
Solution: Unique Number of Occurrences (easy)
Problem 4: Longest Substring Without Repeating Characters (medium)
Solution: Longest Substring Without Repeating Characters (medium)
10.
Heap
9 lessons
Introduction to Heap
Take Gifts From the Richest Pile(easy)
Solution: Take Gifts From the Richest Pile(easy)
Sort Characters By Frequency (easy)
Solution: Sort Characters By Frequency (easy)
Minimum Cost to Connect Sticks(medium)
Solution: Minimum Cost to Connect Sticks(medium)
Find the Median of a Number Stream (medium)
Solution: Find the Median of a Number Stream
11.
Graph
11 lessons
Introduction to Graph
Graph Representations
Graph as an Abstract Data Type (ADT)
Graph Traversal - Depth First Search(DFS)
Graph Traversal - Breadth First Search (BFS)
Problem 1: Find if Path Exists in Graph(easy)
Solution: Find if Path Exists in Graph(easy)
Problem 2: Number of Provinces (medium)
Solution: Number of Provinces (medium)
Problem 3: Minimum Number of Vertices to Reach All Nodes(medium)
Solution: Minimum Number of Vertices to Reach All Nodes(medium)
12.
Trie (aka Prefix Tree)
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
Extra Characters in a String (medium)
Solution: Extra Characters in a String
Search Suggestions System (medium)
Solution: Search Suggestions System
Design Add and Search Words Data Structure (medium)
Solution: Design Add and Search Words Data Structure
13.
Sorting
16 lessons
Introduction to Sorting Algorithms
Advanced Sorting Techniques
Apple Redistribution into Boxes (easy)
Solution: Apple Redistribution into Boxes
Sort Array by Increasing Frequency (easy)
Solution: Sort Array by Increasing Frequency
Sort Vowels in a String (medium)
Solution: Sort Vowels in a String
Reduction Operations to Make the Array Elements Equal (medium)
Solution: Reduction Operations to Make the Array Elements Equal
Divide Array Into Arrays With Max Difference (medium)
Solution: Divide Array Into Arrays With Max Difference
Top 'K' Frequent Numbers (medium)
Solution: Top 'K' Frequent Numbers
Meeting Rooms II (medium)
Solution: Meeting Rooms II
14.
Searching
13 lessons
Introduction to Searching Algorithms
Maximum Count of Positive Integer and Negative Integer (easy)
Solution: Maximum Count of Positive Integer and Negative Integer
Minimum Common Value (easy)
Solution: Minimum Common Value
Frequency of the Most Frequent Element (medium)
Solution: Frequency of the Most Frequent Element
Minimize the Maximum of Two Arrays (medium)
Solution: Minimize the Maximum of Two Arrays
Search a 2D Matrix II (medium)
Solution: Search a 2D Matrix II
Sqrt (medium)
Solution: Sqrt
15.
Greedy Algorithm
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
16.
Divide and Conquer Algorithm
11 lessons
Introduction to Divide and Conquer Algorithm
Majority Element (easy)
Solution: Majority Element
Longest Nice Substring (easy)
Solution: Longest Nice Substring
Sort List (medium)
Solution: Sort List
Beautiful Array (medium)
Solution: Beautiful Array
Median of Two Sorted Arrays (medium)
Solution: Median of Two Sorted Arrays
Grokking the Art of Recursion for Coding Interviews
Learn the art of recursive problem solving to ace the coding interview.
• 4 Chapters • 44 Lessons
Hide Contents
1.
Introduction
6 lessons
Grokking the Art of Recursive Problem-Solving
Demystifying Recursion
Recursion Types
Recursion vs. Iteration
Recursive Algorithm Strategies
Complexity Analysis
2.
Coding Problems (easy)
14 lessons
1. Basic Sum
Solution: Basic Sum
2. Factorial
Solution: Factorial
3. Greatest Common Divisor (GCD)
Solution: Greatest Common Divisor (GCD)
4. Converting Decimal to Binary
Solution: Converting Decimal to Binary
5. Check Prime
Solution: Check Prime
6. Perfect Square
Solution: Perfect Square
7. Number Frequency
Solution: Number Frequency
3.
Coding Problems (medium)
16 lessons
8. Pascal's Triangle
Solution: Pascal's Triangle
9. Binary Search
Solution: Binary Search
10. Inserting a new node in a BST
Solution: Inserting a new node in a BST
11. BST Inorder Traversal
Solution: BST Inorder Traversal
12. Merge Sort
Solution: Merge Sort
13. Quick Sort
Solution: Quick Sort
14. Depth First Search
Solution: Depth First Search
15. Removing Nodes From Linked List
Solution: Removing Nodes From Linked List
4.
Coding Problems (hard)
8 lessons
16. Fibonacci Series Using Memoization
Solution: Fibonacci Series Using Memoization
17. Good Number
Solution: Good Number
18. Split BST
Solution: Split BST
19. Pow(x,n)
Solution: Pow(x,n)
Grokking the Coding Interview: Patterns for Coding Questions
Fast track your coding interview prep by learning coding patterns. Act smartly, and follow the coding patterns.
• 36 Chapters • 498 Lessons
Hide Contents
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
23 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
Subarrays with Product Less than a Target (medium)
Solution: Subarrays with Product Less than a Target
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
21 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
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
Operations on Stack
Implementing Stack Data Structure
Applications of Stack
Problem 1: Balanced Parentheses
Solution: Balanced Parentheses
Problem 2: Reverse a String
Solution: Reverse a String
Problem 3: Decimal to Binary Conversion
Solution: Decimal to Binary Conversion
Problem 4: Next Greater Element
Solution: Next Greater Element
Problem 5: Sorting a Stack
Solution: Sorting a Stack
Problem 6: Simplify Path
Solution: Simplify Path
10.
Pattern: Monotonic StackNew
13 lessons
Introduction to Monotonic Stack
Remove Nodes From Linked List (medium)
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
Remove K Digits (hard)
Solution: Remove K Digits
11.
Pattern: Hash Maps
13 lessons
Introduction to Hashing
Introduction to Hash Tables
Issues with Hash Tables
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.
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
13.
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
14.
Pattern: Graphs
11 lessons
Introduction to Graph
Graph Representations
Graph as an Abstract Data Type (ADT)
Graph Traversal - Depth First Search(DFS)
Graph Traversal - Breadth First Search (BFS)
Problem 1: Find if Path Exists in Graph(easy)
Solution: Find if Path Exists in Graph(easy)
Problem 2: Number of Provinces (medium)
Solution: Number of Provinces
Problem 3: Minimum Number of Vertices to Reach All Nodes(medium)
Solution: Minimum Number of Vertices to Reach All Nodes(medium)
15.
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
16.
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
17.
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
18.
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
19.
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
20.
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
21.
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
22.
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
23.
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
24.
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
25.
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
26.
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
27.
Pattern: Union FindNew
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
28.
Pattern: Ordered SetNew
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
29.
Pattern: Prefix SumNew
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
30.
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
31.
Miscellaneous
2 lessons
Kth Smallest Number (hard)
Solution: Kth Smallest Number
32.
Revision
1 lesson
Coding Patterns: A Cheat Sheet
33.
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
34.
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
35.
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
36.
Conclusions
1 lesson
Where to Go from Here
Grokking Advanced Coding Patterns for Interviews
Master advanced coding patterns for interviews: Unlock the key to acing MAANG-level coding questions
• 13 Chapters • 128 Lessons
Hide Contents
1.
Introduction
1 lesson
Course Overview
2.
Counting Pattern (easy)
13 lessons
Introduction to Counting Pattern
Count Elements With Maximum Frequency (easy)
Solution: Count Elements With Maximum Frequency
Maximum Population Year (easy)
Solution: Maximum Population Year
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
3.
Monotonic Queue Pattern (easy)
11 lessons
Introduction to Monotonic Queue Pattern
Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit (medium)
Solution: Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit
Minimum Number of Coins for Fruits (medium)
Solution: Minimum Number of Coins for Fruits
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
4.
Simulation Pattern (easy)
13 lessons
Introduction to Simulation Pattern
Array Transformation (easy)
Solution: Array Transformation
Water Bottles (easy)
Solution: Water Bottles
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
5.
Linear Sorting Algorithm Pattern (easy)
16 lessons
Introduction to Linear Sorting Algorithms
Counting Sort Algorithm
Radix Sort Algorithm
Bucket Sort Algorithm
Relative Sort Array (easy)
Solution: Relative Sort Array
Height Checker (easy)
Solution: Height Checker
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
6.
Meet in the Middle Pattern (medium)
11 lessons
Introduction to Meet in the Middle
Subset Sum Equal to Target (medium)
Solution: Subset Sum Equal to Target
Subsets having Sum between A and B (hard)
Solution: Subsets having Sum between A and B
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
7.
MO’s Algorithm Pattern (medium)
9 lessons
Introduction to MO’s Algorithm Pattern
XOR Queries of a Subarray (medium)
Solution: XOR Queries of a Subarray
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
8.
Serialize and Deserialize Pattern (medium)
11 lessons
Introduction to Serialize and Deserialize Pattern
Encode and Decode Strings (medium)
Solution: Encode and Decode Strings
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Serialize and Deserialize N-ary Tree (hard)
Hidden Document
9.
Clone Pattern (medium)
9 lessons
Introduction to Clone Pattern
Copy List with Random Pointer (medium)
Solution: Copy List with Random Pointer
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Clone N-ary Tree (hard)
Hidden Document
10.
Articulation Points and Bridges Pattern (hard)
9 lessons
Introduction to Articulation Points and Bridges Pattern
Minimum Number of Days to Disconnect Island (hard)
Solution: Minimum Number of Days to Disconnect Island
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
11.
Segment Tree Pattern (hard)
10 lessons
Introduction to Segment Tree Pattern
Operations on Segment Tree
Range Minimum Query (easy)
Solution: Range Minimum Query
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
12.
Binary Indexed Tree Pattern (hard)
14 lessons
Introduction to Binary Indexed Tree Pattern
Implementation of Binary Indexed Tree
Number of Longest Increasing Subsequence (medium)
Solution: Number of Longest Increasing Subsequence
Maximum Profitable Triplets With Increasing Prices I (medium)
Solution: Maximum Profitable Triplets With Increasing Prices I
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
Hidden Document
13.
Revision
1 lesson
Coding Patterns: A Cheat Sheet
Grokking Dynamic Programming Patterns for Coding Interviews
Master Dynamic Programming by learning coding patterns. Act smartly, and follow the Dynamic Programming patterns.
• 7 Chapters • 73 Lessons
Hide Contents
1.
Introduction
1 lesson
What is Dynamic Programming?
2.
Pattern 1: 0/1 Knapsack
13 lessons
Introduction
0/1 Knapsack
Solution: 0/1 Knapsack
Equal Subset Sum Partition
Solution: Equal Subset Sum Partition
Subset Sum
Solution: Subset Sum
Minimum Subset Sum Difference
Solution: Minimum Subset Sum Difference
Count of Subset Sum
Solution: Count of Subset Sum
Target Sum
Solution: Target Sum
3.
Pattern 2: Unbounded Knapsack
10 lessons
Unbounded Knapsack
Solution: Unbounded Knapsack
Rod Cutting
Solution: Rod Cutting
Coin Change
Solution: Coin Change
Minimum Coin Change
Solution: Minimum Coin Change
Maximum Ribbon Cut
Solution: Maximum Ribbon Cut
4.
Pattern 3: Fibonacci Numbers
12 lessons
Fibonacci numbers
Solution: Fibonacci numbers
Staircase
Solution: Staircase
Number factors
Solution: Number factors
Minimum jumps to reach the end
Solution: Minimum jumps to reach the end
Minimum jumps with fee
Solution: Minimum jumps with fee
House thief
Solution: House thief
5.
Pattern 4: Palindromic Subsequence
10 lessons
Longest Palindromic Subsequence
Solution: Longest Palindromic Subsequence
Longest Palindromic Substring
Solution: Longest Palindromic Substring
Count of Palindromic Substrings
Solution: Count of Palindromic Substrings
Minimum Deletions in a String to make it a Palindrome
Solution: Minimum Deletions in a String to make it a Palindrome
Palindromic Partitioning
Solution: Palindromic Partitioning
6.
Pattern 5: Longest Common Substring
26 lessons
Longest Common Substring
Solution: Longest Common Substring
Longest Common Subsequence
Solution: Longest Common Subsequence
Minimum Deletions & Insertions to Transform a String into another
Solution: Minimum Deletions & Insertions to Transform a String into another
Longest Increasing Subsequence
Solution: Longest Increasing Subsequence
Maximum Sum Increasing Subsequence
Solution: Maximum Sum Increasing Subsequence
Shortest Common Super-sequence
Solution: Shortest Common Super-sequence
Minimum Deletions to Make a Sequence Sorted
Solution: Minimum Deletions to Make a Sequence Sorted
Longest Repeating Subsequence
Solution: Longest Repeating Subsequence
Subsequence Pattern Matching
Solution: Subsequence Pattern Matching
Longest Bitonic Subsequence
Solution: Longest Bitonic Subsequence
Longest Alternating Subsequence
Solution: Longest Alternating Subsequence
Edit Distance
Solution: Edit Distance
Strings Interleaving
Solution: Strings Interleaving
7.
Appendix
1 lesson
Contact Us
What people say about our courses
Annual Subscription
$26
.25
/mo
billed yearly ($315)
Get instant access to all current and upcoming courses for one year.
OR
Lifetime Access - This Bundle
$383
Get lifetime access to this bundle only.
Lifetime Access - All Courses
$1082
Get instant access to all current and future courses for lifetime.
Certification on completing the course.
One-Stop Portal For Tech Interviews.
Copyright © 2024 Designgurus, Inc. All rights reserved.