Course Contents

01

Introduction

Who should take this course?
00:34
Course Overview
01:01

02

Pattern: Sliding Window

Introduction
08:44
Maximum Sum Subarray of Size K (easy)
08:31
Smallest Subarray with a Greater Sum (easy)
06:01
Longest Substring with K Distinct Characters (medium)
07:27
Fruits into Baskets (medium)
06:57
Longest Substring with Distinct Characters (hard)
06:40
Longest Substring with Same Letters after Replacement (hard)
08:23
Longest Subarray with Ones after Replacement (hard)
07:03
Problem Challenge 1
09:14
Problem Challenge 2
08:33
Problem Challenge 3
10:30
Problem Challenge 4
08:55







03

Pattern: Islands (Matrix Traversal) (*NEW*)

Introduction
00:19
Number of Islands (easy)
26:25
Biggest Island (easy)
07:59
Flood Fill (easy)
07:39
Number of Closed Islands (easy)
10:03
Problem Challenge 1
10:07
Problem Challenge 2
10:55
Problem Challenge 3
11:27

04

Pattern: Two Pointers

Introduction
01:37
Pair with Target Sum (easy)
06:40
Separate Duplicates (easy)
04:47
Squaring a Sorted Array (easy)
03:34
Triplet Sum to Zero (medium)
05:43
Triplet Sum Close to Target (medium)
05:40
Triplets with Smaller Sum (medium)
08:44
Subarrays with Product Less than a Target (medium)
05:01
Dutch National Flag Problem (medium)
04:25
Problem Challenge 1
06:11
Problem Challenge 2
04:51
Problem Challenge 3
07:05

05

Pattern: Fast & Slow Pointers

Introduction
00:34
LinkedList Cycle (easy)
08:09
Start of LinkedList Cycle (medium)
05:48
Happy Number (medium)
04:53
Middle of the LinkedList (easy)
02:48
Problem Challenge 1
05:57
Problem Challenge 2
05:44
Problem Challenge 3
07:09

06

Pattern: Merge Intervals

Introduction
00:25
Merge Intervals (medium)
05:57
Insert Interval (medium)
06:19
Intervals Intersection (medium)
05:34
Conflicting Appointments (medium)
04:22
Problem Challenge 1
08:07
Problem Challenge 2
05:15
Problem Challenge 3
09:14

07

Pattern: Cyclic Sort

Introduction
00:44
Cyclic Sort (easy)
03:51
Find the Missing Number (easy)
04:26
Find all Missing Numbers (easy)
03:25
Find the Duplicate Number (easy)
06:08
Find all Duplicate Numbers (easy)
02:49
Problem Challenge 1
03:02
Problem Challenge 2
03:11
Problem Challenge 3
05:41

08

Pattern: In-place Reversal of a LinkedList

Introduction
00:26
Reverse a LinkedList (easy)
04:21
Reverse a Sub-list (medium)
07:54
Reverse every K-element Sub-list (medium)
05:56
Problem Challenge 1
06:25
Problem Challenge 2
05:13

09

Pattern: Tree Breadth First Search

Introduction
00:27
Binary Tree Level Order Traversal (easy)
05:23
Reverse Level Order Traversal (easy)
04:33
Zigzag Traversal (medium)
04:46
Level Averages in a Binary Tree (easy)
04:30
Minimum Depth of a Binary Tree (easy)
07:18
Level Order Successor (easy)
04:54
Connect Level Order Siblings (medium)
05:16
Problem Challenge 1
04:06
Problem Challenge 2
04:42

10

Pattern: Tree Depth First Search

Introduction
00:23
Binary Tree Path Sum (easy)
05:37
All Paths for a Sum (medium)
07:06
Sum of Path Numbers (medium)
03:59
Path With Given Sequence (medium)
05:00
Count Paths for a Sum (medium)
17:40
Problem Challenge 1
06:41
Problem Challenge 2
06:25

11

Pattern: Two Heaps

Introduction
00:27
Find the Median of a Number Stream (medium)
07:33
Sliding Window Median (hard)
08:39
Maximize Capital (hard)
06:55
Problem Challenge 1
07:21

12

Pattern: Subsets

Introduction
00:13
Subsets (easy)
04:11
Subsets With Duplicates (easy)
05:42
Permutations (medium)
07:07
String Permutations by changing case (medium)
04:24
Balanced Parentheses (hard)
10:17
Unique Generalized Abbreviations (hard)
08:13
Problem Challenge 1
08:18
Problem Challenge 2
05:21
Problem Challenge 3
05:12

13

Pattern: Modified Binary Search

Introduction
00:26
Order-agnostic Binary Search (easy)
07:06
Ceiling of a Number (medium)
08:47
Next Letter (medium)
04:21
Number Range (medium)
05:45
Search in a Sorted Infinite Array (medium)
05:39
Minimum Difference Element (medium)
04:32
Bitonic Array Maximum (easy)
03:24
Problem Challenge 1
06:29
Problem Challenge 2
11:19
Problem Challenge 3
11:02

14

Pattern: Bitwise XOR

Introduction
06:11
Single Number (easy)
01:44
Two Single Numbers (medium)
04:54
Complement of Base 10 Number (medium)
05:19
Problem Challenge 1
02:47

15

Pattern: Top 'K' Elements

Introduction
00:23
Top 'K' Numbers (easy)
06:39
Kth Smallest Number (easy)
05:24
'K' Closest Points to the Origin (easy)
05:10
Connect Ropes (easy)
04:11
Top 'K' Frequent Numbers (medium)
04:29
Frequency Sort (medium)
03:33
Kth Largest Number in a Stream (medium)
03:25
'K' Closest Numbers (medium)
13:17
Maximum Distinct Elements (medium)
07:04
Sum of Elements (medium)
07:38
Rearrange String (hard)
05:14
Problem Challenge 1
04:55
Problem Challenge 2
05:40
Problem Challenge 3
04:44

16

Pattern: K-way Merge

Introduction
00:39
Merge K Sorted Lists (medium)
07:05
Kth Smallest Number in M Sorted Lists (Medium)
05:18
Kth Smallest Number in a Sorted Matrix (Hard)
12:43
Smallest Number Range (Hard)
05:30
Problem Challenge 1
05:59

17

Pattern : 0/1 Knapsack (Dynamic Programming)

Introduction
00:28
0/1 Knapsack (medium)
35:27
Equal Subset Sum Partition (medium)
17:47
Subset Sum (medium)
11:13
Minimum Subset Sum Difference (hard)
15:40
Problem Challenge 1
15:39
Problem Challenge 2
11:13

18

Pattern: Topological Sort (Graph)

Introduction
00:21
Topological Sort (medium)
09:27
Tasks Scheduling (medium)
07:41
Tasks Scheduling Order (medium)
07:38
All Tasks Scheduling Orders (hard)
08:59
Alien Dictionary (hard)
09:16
Problem Challenge 1
10:12
Problem Challenge 2
10:20

19

Pattern: Multi-threaded (*NEW*)

Introduction
00:22
Same Tree (medium)
05:07
Invert Binary Tree (medium)
03:28
Binary Search Tree Iterator (medium)
11:13

20

Miscellaneous

Kth Smallest Number (hard)
34:54