AI Features
Log In
0% completed
All Lessons
Free Lessons (13)
Introduction
Who This Course Is For
Learning Outcomes
Algorithmic Paradigms
Brute Force
Greedy Algorithms
Divide and Conquer
Dynamic Programming
Asymptotic Analysis
Comparing Algorithms
Example: Measuring Time Complexity - Single loop
Example: Measuring Time Complexity - Nested Loop
Introduction to Asymptotic Analysis and Big O
Other Common Asymptotic Notations and Why Big O Trumps Them
Useful Formulas
Common Complexity Scenarios
Challenge: Big O of Nested Loop With Addition
Solution: Big O of Nested Loop With Addition
Challenge: Big O of Nested Loop With Subtraction
Solution: Big O of Nested Loop With Subtraction
Challenge: Big O of Nested Loop With Multiplication
Solution: Big O of Nested Loop With Multiplication
Challenge: Nested Loop With Multiplication (Basic)
Solution: Nested Loop With Multiplication (Basic)
Challenge: Nested Loop With Multiplication (Intermediate)
Solution: Nested Loop With Multiplication (Intermediate)
Challenge: Nested Loop With Multiplication (Advanced)
Solution: Nested Loop With Multiplication (Advanced)
Challenge: Nested Loop With Multiplication (Pro)
Solution: Nested Loop With Multiplication (Pro)
Complexity Quiz: Test Your Understanding of Complexity
Sorting & Searching
Selection Sort, Bubble Sort, and Insertion Sort
Merge Sort
Quick Sort
Overview of Sorting Algorithms
Searching Algorithms
Challenge: Find Two Numbers That Add Up to "n"
Solution: Find Two Numbers That Add Up to "n"
Challenge: Search in a Rotated List
Solution: Search in a Rotated List
Challenge: Group Anagrams
Solution: Group Anagrams
Challenge: Arrange a Binary List
Solution: Arrange a Binary List
Challenge: Find the Maximum Product of Two Integers in a List
Solution: Find the Maximum Product of Two Integers in a List
Challenge: Find Duplicates in a List With No Repetition
Solution: Find Duplicates in a List With No Repetition
Challenge: Search in a 2D List
Solution: Search in a 2D List
Challenge: Search Position
Solution: Search Position
Challenge: Dutch National Flag Problem
Solution: Dutch National Flag Problem
Quiz on Sorting & Searching
Graph Algorithms
Introduction to Graph Algorithms and Implementation
Challenge: Implement Breadth-First Graph Traversal
Solution: Breadth-First Graph Traversal
Challenge: Implement Depth-First Graph Traversal
Solution: Depth-First Graph Traversal
Challenge: Calculate the Number of Nodes in a Graph Level
Solution: Calculate the Number of Nodes in a Graph Level
Challenge: Transpose a Graph
Solution: Transpose a Graph
Challenge: Find All Paths Between Two Nodes
Solution: Find All Paths Between Two Nodes
Challenge: Check If a Graph is Strongly Connected
Solution: Check If a Graph is Strongly Connected
Challenge: Find All Connected Components in a Graph
Solution: Find All Connected Components of a Graph
Challenge: Remove an Edge
Solution: Remove an Edge
Challenge: Detect a Cycle in a Graph
Solution: Detect a Cycle in a Graph
Quiz on Graph Algorithms
Greedy Algorithms
Greedy Approach: A Deep Dive
Challenge: Counting Money
Solution: Counting Money
Challenge: Connecting n Pipes With Minimum Cost
Solution: Connecting n Pipes With Minimum Cost
Challenge: Find the Egyptian Fraction's Denominators
Solution: Find the Egyptian Fraction
Challenge: Find the Minimum Platforms Required For a Station
Solution: Find the Minimum Platforms Required For a Station
Challenge: Find the Largest Number Possible
Solution: Find the Largest Number Possible
Quiz on Greedy Algorithms
Dynamic Programming
Calculating Fibonacci Numbers
Introducing Dynamic Programming with Fibonacci Numbers
Memoizing Fibonacci Numbers
Tabulating Fibonacci Numbers
Challenge: The 0/1 Knapsack Problem
Solution: The 0/1 Knapsack Problem
Challenge: Staircase Problem
Solution: Staircase Problem
Challenge: The Partition Problem
Solution: The Partition Problem
Challenge: Longest Common Substring
Solution: Longest Common Substring
Challenge: Shortest Common Supersequence(SCS)
Solution: Shortest Common Supersequence(SCS)
Challenge: Longest Palindromic Subsequence
Solution: Longest Palindromic Subsequence
Challenge: The Coin Change Problem
Solution: The Coin Change Problem
Challenge: Egg Dropping Problem
Solution: Egg Dropping Problem
Challenge: Strings Interleaving
Solution: Strings Interleaving
Challenge: Edit Distance Problem
Solution: The Edit Distance Problem
Quiz on Dynamic Programming
Divide and Conquer
Introduction to Divide and Conquer With Binary Search
Pascal's Triangle
Challenge: Euclidean Algorithm
Solution: Euclidean Algorithm
Challenge: Find the Peak Element
Solution: Find the Peak Element
Challenge: Maximum Sum Sublist of Size K
Solution: Maximum Sum Sublist of Size K
Challenge: Collect Coins in Minimum Steps
Solution: Collect Coins in Minimum Steps
Challenge: Find the Floor and Ceil of a Number in a Sorted List
Solution: Find the Floor and Ceil of a Number in a Sorted List
Challenge: Missing Number in a Sorted List
Solution: Missing Number in a Sorted List
Challenge: Find the Closest Number
Solution: Find the Closest Number
Challenge: Shuffle Integers
Solution: Shuffle Integers
Challenge: Inversion Count in a List
Solution: Inversion Count in a List
Quiz on Divide and Conquer
Conclusion
Wrapping Up
Where to Go From Here
Home
Courses
Algorithms for Coding Interviews in Python
Challenge: The Partition Problem
Let's write code to solve the partition problem!
We'll cover the following...
Problem statement
Input
Output
Sample input
Sample output
Coding Challenge
Problem statement
Given a list
...
Ask