Example Curriculum
Available in
days
days
after you enroll
Available in
days
days
after you enroll
- Interview Question #1 Two Sum (7:14)
- How To Approach Our Problem (11:45)
- Writing Our Brute Force Solution (6:40)
- Testing Our Solution With Our Test Cases (9:23)
- Submitting To Leetcode (1:49)
- Analyzing Space and Time Complexity (10:37)
- Optimizing Our Solution (8:06)
- Coding Our Optimal Solution (5:21)
- Testing Our Optimal Solution With Our Test Cases (8:02)
- Checking Performance On LeetCode (3:24)
- Solution In Other Languages
- Let's Have Some Fun (+ Free Resources)
Available in
days
days
after you enroll
- Interview Question #2 - Container With Most Water (4:46)
- Coming Up With Test Cases (4:19)
- Thinking Through A Logical Brute Force Solution (12:49)
- Coding Out Our Brute Force Solution (7:20)
- Stepping Through Our Code (4:44)
- Thinking About Our Optimal Solution (13:52)
- Coding Our Optimal Solution And Testing On LeetCode (9:50)
- Unlimited Updates
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
- Interview Question #5 - Longest Substring Without Repeating Characters (6:39)
- Coming Up With A Brute Force Approach (6:34)
- Coding Our Brute Force Solution (9:57)
- Space And Time Complexity (3:16)
- Sliding Window Technique (5:18)
- Hints For Optimizing Our Solution (2:15)
- Thinking About Optimal Solution (9:09)
- Coding Our Optimal Solution (8:30)
- Note: Correction for explanation of +1
- Optimal Code And Testing On LeetCode (3:18)
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
- Introducing Recursion (3:07)
- Optional: Tail Recursion (19:54)
- Sorting (2:23)
- Interview Question #13 - Kth Largest Element (6:50)
- Insights From Quick Sort (12:36)
- Understanding Divide And Conquer (8:17)
- Coding Quicksort Into Our Solution (14:53)
- Understanding Hoare's Quickselect Algorithm (6:55)
- Coding Our Solution With Quickselect (11:47)
- Correction About Time Complexity!
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
- Question #17 - Right Side View of Tree (6:43)
- Understanding The Breadth First Search Approach (8:26)
- Understanding The Depth First Search Approach (9:22)
- Thinking About Pre-Order, In-Order, and Post-Order Traversals For Our Solution (12:23)
- Completing Our DFS Solution (7:41)
- Coding Our Final DFS Solution (11:55)
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
- A General Approach To Thinking About Most Graph Questions (9:09)
- Question #20 Number Of Islands (7:50)
- Approaching Our Problem - Thinking Deeply About The Values (16:11)
- Approaching Our Problem - Thinking About Traversals (8:55)
- Coding Our Solution (19:08)
- Thinking About Space And Time Complexity (14:38)
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
- Question #25 - Network Time Delay (12:39)
- Thinking About How To Approach The Problem (8:37)
- Greedy Method & What Is Dijkstra's Algorithm? (15:30)
- Thinking About A Solution With Dijkstra's Algorithm (8:55)
- Coding Our Solution With Dijkstra (17:32)
- Time And Space Complexity Of Our Solution (13:08)
- Thinking About Negative Weights (7:41)
- What is The Bellman-Ford Algorithm? - Conceptualizing Dynamic Programming (16:22)
- What is The Bellman-Ford Algorithm? - The Algorithm Itself (16:17)
- Coding Our Solution With Bellman-Ford (9:19)
Available in
days
days
after you enroll
- Question #26 - Minimum Cost Of Climbing Stairs & How To Approach DP (9:38)
- Understanding & Identifying Recurrence Relation (15:48)
- First Step - Recursive Solution From Recurrence Relation (5:34)
- Second Step - Memoizing Our Redundant Recursive Calls (7:49)
- Coding Our Memoization Optimization (7:50)
- Understanding The Bottom Up Approach (Tabulation) (6:29)
- Third Step - Bottom Up Tabulation (5:24)
- Fourth Step - Bottom Up Optimization (6:52)
Available in
days
days
after you enroll
- Question #27 - Knight Probability In Chessboard (10:09)
- Thinking About Test Cases To Help Us (3:51)
- Identifying The Recurrence Relation (15:29)
- First Step - Recursive Solution From Recurrence Relation (5:10)
- Second Step - Memoizing Our Redundant Recursive Calls (14:13)
- Figuring Out The Logic For Our Bottom Up Solution (13:59)
- Third Step - Bottom Up Tabulation (8:31)
- Fourth Step - Bottom Up Optimization (6:55)
- Dynamic Programming Question List
Available in
days
days
after you enroll
- Understanding The Basics Of Backtracking (7:06)
- Question #28 - Sudoku Solver (4:19)
- Learning The Backtracking Template (11:18)
- Applying Our Backtracking Template To Sudoku Solver Logic (6:42)
- Coding How To Get Box ID (7:49)
- Setting Up Our Solution Code (7:05)
- Coding The Recursive Backtracking Portion Of Our Solution (19:18)
- Thinking About The Space And Time Complexity (6:58)
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
- Note About Appendix Videos
- Section Overview (2:24)
- What Is Good Code? (6:57)
- Big O and Scalability (11:08)
- O(n) (5:39)
- O(1) (6:10)
- Exercise: Big O Calculation
- Solution: Big O Calculation (5:54)
- Exercise: Big O Calculation 2
- Solution: Big O Calculation 2 (2:29)
- Simplifying Big O (1:50)
- Big O Rule 1 (4:28)
- Big O Rule 2 (6:36)
- Big O Rule 3 (3:13)
- O(n^2) (7:13)
- Big O Rule 4 (6:47)
- Big O Cheat Sheet (3:18)
- What Does This All Mean? (5:32)
- O(n!) (1:18)
- 3 Pillars Of Programming (3:32)
- Space Complexity (2:22)
- Exercise: Space Complexity (6:24)
- Exercise: Twitter (7:13)
- Section Summary (4:43)
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
- Sorting Introduction (7:01)
- The Issue With sort() (6:51)
- Sorting Algorithms (3:37)
- Bubble Sort (3:45)
- Exercise: Bubble Sort
- Solution: Bubble Sort (5:06)
- Selection Sort (2:39)
- Exercise: Selection Sort
- Solution: Selection Sort (2:23)
- Dancing Algorithms (1:36)
- Exercise: Insertion Sort
- Insertion Sort (2:38)
- Solution: Insertion Sort (2:06)
- Merge Sort and O(n log n) (8:59)
- Exercise: Merge Sort
- Solution: Merge Sort (4:44)
- Quick Sort (7:40)