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:

4

Get instant access to all current and upcoming courses through subscription.

$21

.42

/mo

billed yearly ($257)

OR

Get Lifetime access for this bundle only.

$276

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

• 63 Chapters • 806 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

Problem 1: Reverse a Queue (easy)

Solution: Reverse a Queue

Problem 2: Implement Stack using Queues

Solution: Implement Stack using Queues (easy)

Problem 3: Generate Binary Numbers from 1 to N

Solution: Generate Binary Numbers from 1 to N (medium)

Problem 4: Palindrome Check using Queue (easy)

Solution: Palindrome Check using Queue

Problem 5: Zigzag Iterator (medium)

Solution: Zigzag Iterator

Problem 6: Max of All Subarrays of Size 'k'

Solution: Max of All Subarrays of Size 'k' (medium)

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.

Intrduction

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 • 495 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 (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

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 (medium)

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)

13 lessons

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

Sudoku Solver (hard)

Solution: Sudoku Solver

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

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 Pattern

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)

11 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

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 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

Get instant access to all current and upcoming courses through subscription.

$21

.42

/mo

billed yearly ($257)

OR

Get Lifetime access for this bundle only.

$276

Certification on completing the course.

One-Stop Portal For Tech Interviews.

Copyright © 2024 Designgurus, Inc. All rights reserved.