Log In
Join
 for free
Log In
Join
 for free
Back To Course Home
Grokking Coding Interview Patterns in Python
0% completed
Getting Started
Course Overview
Who Should Take This Course
Two Pointers
Introduction to Two Pointers
Valid Palindrome
Solution: Valid Palindrome
Sum of Three Values
Solution: Sum of Three Values
Remove nth Node from End of List
Solution: Remove nth Node from End of List
Sort Colors
Solution: Sort Colors
Reverse Words in a String
Solution: Reverse Words in a String
Valid Word Abbreviation
Solution: Valid Word Abbreviation
Valid Palindrome II
Fast and Slow Pointers
Introduction to Fast and Slow Pointers
Happy Number
Solution: Happy Number
Linked List Cycle
Solution: Linked List Cycle
Middle of the Linked List
Solution: Middle of the Linked List
Circular Array Loop
Solution: Circular Array Loop
Find The Duplicate Number
Solution: Find The Duplicate Number
Palindrome Linked List
Solution: Palindrome Linked List
Sliding Window
Introduction to Sliding Window
Repeated DNA Sequences
Solution: Repeated DNA Sequences
Find Maximum in Sliding Window
Solution: Find Maximum in Sliding Window
Minimum Window Subsequence
Solution: Minimum Window Subsequence
Longest Repeating Character Replacement
Solution: Longest Repeating Character Replacement
Minimum Window Substring
Solution: Minimum Window Substring
Longest Substring without Repeating Characters
Solution: Longest Substring without Repeating Characters
Minimum Size Subarray Sum
Solution: Minimum Size Subarray Sum
Best Time to Buy and Sell Stock
Merge Intervals
Introduction to Merge Intervals
Merge Intervals
Solution: Merge Intervals
Insert Interval
Solution: Insert Interval
Interval List Intersections
Solution: Interval List Intersections
Employee Free Time
Solution: Employee Free Time
Task Scheduler
Solution: Task Scheduler
Meeting Rooms II
In-Place Manipulation of a Linked List
Introduction to In-Place Manipulation of a Linked List
Reverse Linked List
Solution: Reverse Linked List
Reverse Nodes in k-Group
Solution: Reverse Nodes in k-Group
Reverse Linked List II
Solution: Reverse Linked List II
Reorder List
Solution: Reorder List
Swapping Nodes in a Linked List
Solution: Swapping Nodes in a Linked List
Reverse Nodes In Even Length Groups
Solution: Reverse Nodes in Even Length Groups
Swap Nodes in Pairs
Two Heaps
Introduction to Two Heaps
Maximize Capital
Solution: Maximize Capital
Find Median from a Data Stream
Solution: Find Median from a Data Stream
Sliding Window Median
Solution: Sliding Window Median
Schedule Tasks on Minimum Machines
Solution: Schedule Tasks on Minimum Machines
Meeting Rooms III
Solution: Meeting Rooms III
K-way merge
Introduction to K-way Merge
Merge Sorted Array
Solution: Merge Sorted Array
Kth Smallest Number in M Sorted Lists
Solution: Kth Smallest Number in M Sorted Lists
Find K Pairs with Smallest Sums
Solution: Find K Pairs with Smallest Sums
Merge K Sorted Lists
Solution: Merge K Sorted Lists
Kth Smallest Element in a Sorted Matrix
Solution: Kth Smallest Element in a Sorted Matrix
Top K Elements
Introduction to Top K Elements
Kth Largest Element in a Stream
Solution: Kth Largest Element in a Stream
Reorganize String
Solution: Reorganize String
K Closest Points to Origin
Solution: K Closest Points to Origin
Top K Frequent Elements
Solution: Top K Frequent Elements
Kth Largest Element in an Array
Solution: Kth Largest Element in an Array
Modified Binary Search
Introduction to Modified Binary Search
Binary Search
Solution: Binary Search
Search in Rotated Sorted Array
Solution: Search in Rotated Sorted Array
First Bad Version
Solution: First Bad Version
Random Pick with Weight
Solution: Random Pick with Weight
Find K Closest Elements
Solution: Find K Closest Elements
Single Element in a Sorted Array
Solution: Single Element in a Sorted Array
Search in Rotated Sorted Array II
Maximum Value at a Given Index in a Bounded Array
Solution: Maximum Value at a Given Index in a Bounded Array
Subsets
Introduction to Subsets
Subsets
Solution: Subsets
Permutations
Solution: Permutations
Letter Combinations of a Phone Number
Solution: Letter Combinations of a Phone Number
Generate Parentheses
Solution: Generate Parentheses
Find K-Sum Subsets
Greedy Techniques
Introduction to Greedy Techniques
Jump Game I
Solution: Jump Game I
Boats to Save People
Solution: Boats to Save People
Gas Stations
Solution: Gas Stations
Two City Scheduling
Solution: Two City Scheduling
Minimum Number of Refueling Stops
Solution: Minimum Number of Refueling Stops
Largest Palindromic Number
Solution: Largest Palindromic Number
Jump Game II
Backtracking
Introduction to Backtracking
N-Queens
Solution: N-Queens
Word Search
Solution: Word Search
House Robber III
Solution: House Robber III
Restore IP Addresses
Solution: Restore IP Addresses
Flood Fill
Solution: Flood Fill
Minimum Moves to Spread Stones Over Grid
Solution: Minimum Moves to Spread Stones Over Grid
Sudoku Solver
Matchsticks to Square
Dynamic Programming
Introduction to Dynamic Programming
0/1 Knapsack
Solution: 0/1 Knapsack
Coin Change
Solution: Coin Change
N-th Tribonacci Number
Solution: N-th Tribonacci Number
Partition Equal Subset Sum
Solution: Partition Equal Subset Sum
Counting Bits
Solution: Counting Bits
01 Matrix
Solution: 01 Matrix
House Robber II
Solution: House Robber II
Maximum Product Subarray
Solution: Maximum Product Subarray
Combination Sum
Solution: Combination Sum
Word Break
Solution: Word Break
Palindromic Substrings
Solution: Palindromic Substrings
Longest Common Subsequence
Solution: Longest Common Subsequence
Word Break II
Solution: Word Break II
Decode Ways
Solution: Decode Ways
Count the Number of Good Subsequences
Solution: Count the Number of Good Subsequences
Climbing Stairs
Cyclic Sort
Introduction to Cyclic Sort
Missing Number
Solution: Missing Number
First Missing Positive
Solution: First Missing Positive
Find the Corrupt Pair
Solution: Find the Corrupt Pair
Find the First K Missing Positive Numbers
Topological Sort
Introduction to Topological Sort
Compilation Order
Solution: Compilation Order
Alien Dictionary
Solution: Alien Dictionary
Verifying an Alien Dictionary
Solution: Verifying an Alien Dictionary
Course Schedule II
Solution: Course Schedule II
Course Schedule
Solution: Course Schedule
Find All Possible Recipes from Given Supplies
Matrices
Introduction to Matrices
Set Matrix Zeros
Solution: Set Matrix Zeros
Rotate Image
Solution: Rotate Image
Spiral Matrix
Solution: Spiral Matrix
Where Will the Ball Fall
Solution: Where Will the Ball Fall
Stacks
Introduction to Stacks
Basic Calculator
Solution: Basic Calculator
Remove All Adjacent Duplicates In String
Solution: Remove All Adjacent Duplicates In String
Minimum Remove to Make Valid Parentheses
Solution: Minimum Remove to Make Valid Parentheses
Exclusive Execution Time of Functions
Solution: Exclusive Execution Time of Functions
Flatten Nested List Iterator
Solution: Flatten Nested List Iterator
Implement Queue Using Stacks
Solution: Implement Queue Using Stacks
Valid Parentheses
Graphs
Introduction to Graphs
Network Delay Time
Solution: Network Delay Time
Paths in Maze That Lead to Same Room
Solution: Paths in Maze That Lead to Same Room
Clone Graph
Solution: Clone Graph
Graph Valid Tree
Solution: Graph Valid Tree
Bus Routes
Solution: Bus Routes
Reconstruct Itinerary
Solution: Reconstruct Itinerary
Tree Depth-First Search
Introduction to Tree Depth-First Search
Flatten Binary Tree to Linked List
Solution: Flatten Binary Tree to Linked List
Diameter of Binary Tree
Solution: Diameter of Binary Tree
Serialize and Deserialize Binary Tree
Solution: Serialize and Deserialize Binary Tree
Invert Binary Tree
Solution: Invert Binary Tree
Binary Tree Maximum Path Sum
Solution: Binary Tree Maximum Path Sum
Convert Sorted Array to Binary Search Tree
Solution: Convert Sorted Array to Binary Search Tree
Build Binary Tree from Preorder and Inorder Traversal
Solution: Build Binary Tree from Preorder and Inorder Traversal
Binary Tree Right Side View
Solution: Binary Tree Right Side View
Lowest Common Ancestor in a Binary Tree
Solution: Lowest Common Ancestor in a Binary Tree
Validate Binary Search Tree
Solution: Validate Binary Search Tree
Nested List Weight Sum II
Solution: Nested List Weight Sum II
Inorder Successor in BST
Solution: Inorder Successor in BST
Height of Binary Tree After Subtree Removal Queries
Solution: Height of Binary Tree After Subtree Removal Queries
Maximum Depth of Binary Tree
Kth Smallest Element in a BST
Tree Breadth-First Search
Introduction to Tree Breadth-First Search
Level Order Traversal of Binary Tree
Solution: Level Order Traversal of Binary Tree
Binary Tree Zigzag Level Order Traversal
Solution: Binary Tree Zigzag Level Order Traversal
Populating Next Right Pointers in Each Node
Solution: Populating Next Right Pointers in Each Node
Vertical Order Traversal of a Binary Tree
Solution: Vertical Order Traversal of a Binary Tree
Symmetric Tree
Solution: Symmetric Tree
Word Ladder
Solution: Word Ladder
Connect All Siblings of a Binary Tree
Trie
Introduction to Trie
Implement Trie
Solution: Implement Trie
Search Suggestions System
Solution: Search Suggestio