Blind 75
The Blind 75 is a curated list of 75 essential LeetCode coding problems designed to prepare software engineers for technical interviews at top tech companies.
Video walkthroughs
- Contains Duplicate - LeetCode 217: Remember What You've Seen in One Pass (Python & Java) (4:50)
- Valid Anagram - LeetCode 242: Count Up, Count Down, Cancel Out (Python & Java) (4:48)
- Two Sum - LeetCode 1: Look Up What's Missing in One Pass (Python & Java) (4:59)
- Group Anagrams - LeetCode 49: Sort Each Word Into a Key (Python & Java) (5:00)
- Top K Frequent Elements - LeetCode 347: Can You Beat O(n log n)? (Python & Java) (5:07)
- Encode and Decode Strings - LeetCode 271: Why Joining with a Separator Breaks (Python & Java) (5:03)
- Product of Array Except Self - LeetCode 238: Why Division Breaks on a Zero (Python & Java) (5:11)
- Longest Consecutive Sequence - LeetCode 128: Count Only From the Start of a Run (Python & Java) (4:59)
- Valid Palindrome - LeetCode 125: Check It Without Copying the String (Python & Java) (4:58)
- 3Sum - LeetCode 15: No Duplicate Triplets, No Hash Set (Python & Java) (5:57)
- Container With Most Water - LeetCode 11 - Two Pointers (Python & Java) (5:39)
- Best Time to Buy and Sell Stock - LeetCode 121 - Sliding Window (Python & Java) (5:12)
- Longest Substring Without Repeating Characters - LeetCode 3 - Sliding Window (Python & Java) (5:37)
- Longest Repeating Character Replacement - LeetCode 424 - Sliding Window (Python & Java) (5:55)
- Minimum Window Substring - LeetCode 76 - Sliding Window (Python & Java) (6:24)
- Valid Parentheses - LeetCode 20: One Stack, Three Ways to Return False (Python & Java) (5:38)
- Find Minimum in Rotated Sorted Array - LeetCode 153: Binary Search for the Drop (Python & Java) (5:16)
- Search in Rotated Sorted Array - LeetCode 33: Which Half Is Sorted? (Python & Java) (5:51)
- Reverse Linked List - LeetCode 206: Three Pointers, One Pass (Python & Java) (4:41)
- Merge Two Sorted Lists - LeetCode 21: Dummy Node and a Tail Pointer (Python & Java) (5:28)
- Linked List Cycle - LeetCode 141: Why Fast Always Catches Slow (Floyd's, Python & Java) (5:08)
- Reorder List - LeetCode 143: Split, Reverse, Weave in O(1) Space (Python & Java) (5:39)
- Remove Nth Node From End of List - LeetCode 19: One Pass with a Dummy Node (Python & Java) (5:01)
- Merge K Sorted Lists - LeetCode 23: Heap + Dummy Node, Explained Visually (Python & Java) (5:39)
- Invert Binary Tree - LeetCode 226: Swap Every Node's Children, Explained Visually (Python & Java) (4:52)
- Maximum Depth of Binary Tree - LeetCode 104: 1 + Max(Left, Right) Explained Visually (Python & Java) (4:57)
- Same Tree - LeetCode 100: Check Both Pairs of Subtrees, Explained Visually (Python & Java) (5:21)
- Subtree of Another Tree - LeetCode 572: Same Tree, Tried at Every Node (Python & Java) (6:14)
- Lowest Common Ancestor of a Binary Search Tree - LeetCode 235: One Walk Down, O(h) (Python & Java) (5:35)
- Binary Tree Level Order Traversal - LeetCode 102: BFS, One Level at a Time (Python & Java) (5:56)
- Validate Binary Search Tree - LeetCode 98: Min/Max Bounds DFS, Explained Visually (Python & Java) (6:12)
- Kth Smallest Element in a BST - LeetCode 230: Inorder Stack Walk, Explained Visually (Python & Java) (5:58)
- Construct Binary Tree from Preorder and Inorder Traversal - LeetCode 105: Split It (Python & Java) (6:25)
- Binary Tree Maximum Path Sum - LeetCode 124: Join Both Sides, Hand Up One (Python & Java) (6:35)
- Serialize and Deserialize Binary Tree - LeetCode 297: Write It Out, Build It Back (Python & Java) (6:03)
- Find Median from Data Stream - LeetCode 295: Two Heaps, Smaller Half and Larger Half (Python & Java) (6:15)
- Combination Sum - LeetCode 39: Backtracking, Use It Again or Step Back (Python & Java) (6:19)
- Word Search - LeetCode 79: Depth-First Search, Mark Cells, Unmark on the Way Back (Python & Java) (6:32)
- Implement Trie (Prefix Tree) - LeetCode 208: A Path of Letters, Mark Where Words End (Python & Java) (5:57)
- Design Add and Search Words Data Structure - LeetCode 211: A Dot Tries Every Child (Python & Java) (6:31)
- Word Search II - LeetCode 212: Trie + DFS, Cut Branches As You Go (Python & Java) (7:18)
- Number of Islands - LeetCode 200: Sink Each Island As You Find It (Python & Java) (6:04)
- Clone Graph - LeetCode 133: Copy Every Node Once With a Hash Map (Python & Java) (6:19)
- Pacific Atlantic Water Flow - LeetCode 417: Climb Up From Both Oceans (Python & Java) (7:38)
- Course Schedule - LeetCode 207: Find the Cycle With a Queue (Python & Java) (6:00)
- Graph Valid Tree - LeetCode 261: Union Find Explained (Python & Java) (6:07)
- Number of Connected Components - LeetCode 323: Union Find Explained (Python & Java) (5:37)
- Alien Dictionary - LeetCode 269 Explained: Find the Letter Order (Python & Java) (6:43)
- Climbing Stairs - LeetCode 70: Your First DP Table (Python & Java) (4:45)
- House Robber - LeetCode 198: Rob It or Skip It (Python & Java) (5:10)
- House Robber II - LeetCode 213: Houses in a Circle (Python & Java) (6:35)
- Longest Palindromic Substring - LeetCode 5: Grow From Every Center (Python & Java) (5:51)
- Palindromic Substrings - LeetCode 647: Count Every Palindrome (Python & Java) (6:01)
- Decode Ways - LeetCode 91: One Digit or Two (Python & Java) (5:57)
- Coin Change - LeetCode 322: Try Every Coin Last (Python & Java) (6:00)
- Maximum Product Subarray - LeetCode 152: Keep the Biggest and Smallest (Python & Java) (5:20)
- Word Break - LeetCode 139: Mark Where Each Word Ends (Python & Java) (5:32)
- Longest Increasing Subsequence - LeetCode 300: Why the Last Value Lies (Python & Java) (5:23)
- Unique Paths - LeetCode 62: Above Plus Left, the First 2-D DP (Python & Java) (5:41)
- Longest Common Subsequence - LeetCode 1143: Match Goes Diagonal, Else Keep the Max (Python & Java) (6:36)
- Maximum Subarray - LeetCode 53: Drop the Running Sum When It Goes Negative (Python & Java) (5:36)
- Jump Game - LeetCode 55: If an Index Is Past Your Reach, You're Stuck (Python & Java) (5:35)
- Insert Interval - LeetCode 57: Merge Everything It Overlaps in One Pass (Python & Java) (6:11)
- Merge Intervals - LeetCode 56: Sort Once, Merge Every Overlap (Python & Java) (6:04)
- Non-overlapping Intervals - LeetCode 435: Sort by End, Keep the Most (Python & Java) (5:45)
- Meeting Rooms - LeetCode 252: Can You Attend Every Meeting? (Python & Java) (5:13)
- Meeting Rooms II - LeetCode 253: How Many Rooms Do You Need? (Python & Java) (6:08)
- Rotate Image - LeetCode 48: Rotate a Matrix In Place (Python & Java) (5:23)
- Spiral Matrix - LeetCode 54: Walk a Matrix in Spiral Order (Python & Java) (5:49)
- Set Matrix Zeroes - LeetCode 73: O(1) Space In Place (Python & Java) (5:19)
- Number of 1 Bits - LeetCode 191: The n & (n - 1) Trick (Python & Java) (4:57)
- Counting Bits - LeetCode 338: Reuse Half the Answer (Python & Java) (4:58)
- Reverse Bits - LeetCode 190: Shift Out, Shift In (Python & Java) (5:26)
- Missing Number - LeetCode 268: O(1) Space with XOR (Python & Java) (5:16)
- Sum of Two Integers - LeetCode 371: XOR Is the Sum, AND Is the Carry (Python & Java) (5:18)
All 75 problems
- Contains Duplicate Easy
- Valid Anagram Easy
- Two Sum Easy
- Group Anagrams Medium
- Top K Frequent Elements Medium
- Encode and Decode Strings Medium
- Product of Array Except Self Medium
- Longest Consecutive Sequence Medium
- Valid Palindrome Easy
- 3Sum Medium
- Container With Most Water Medium
- Best Time to Buy and Sell Stock Easy
- Longest Substring Without Repeating Characters Medium
- Longest Repeating Character Replacement Medium
- Minimum Window Substring Hard
- Valid Parentheses Easy
- Find Minimum in Rotated Sorted Array Medium
- Search in Rotated Sorted Array Medium
- Reverse Linked List Easy
- Merge Two Sorted Lists Easy
- Linked List Cycle Easy
- Reorder List Medium
- Remove Nth Node From End of List Medium
- Merge K Sorted Lists Hard
- Invert Binary Tree Easy
- Maximum Depth of Binary Tree Easy
- Same Tree Easy
- Subtree of Another Tree Easy
- Lowest Common Ancestor of a Binary Search Tree Medium
- Binary Tree Level Order Traversal Medium
- Validate Binary Search Tree Medium
- Kth Smallest Element in a BST Medium
- Construct Binary Tree from Preorder and Inorder Traversal Medium
- Binary Tree Maximum Path Sum Hard
- Serialize and Deserialize Binary Tree Hard
- Find Median from Data Stream Hard
- Combination Sum Medium
- Word Search Medium
- Implement Trie (Prefix Tree) Medium
- Design Add and Search Words Data Structure Medium
- Word Search II Hard
- Number of Islands Medium
- Clone Graph Medium
- Pacific Atlantic Water Flow Medium
- Course Schedule Medium
- Graph Valid Tree Medium
- Number of Connected Components in an Undirected Graph Medium
- Alien Dictionary Hard
- Climbing Stairs Easy
- House Robber Medium
- House Robber II Medium
- Longest Palindromic Substring Medium
- Palindromic Substrings Medium
- Decode Ways Medium
- Coin Change Medium
- Maximum Product Subarray Medium
- Word Break Medium
- Longest Increasing Subsequence Medium
- Unique Paths Medium
- Longest Common Subsequence Medium
- Maximum Subarray Medium
- Jump Game Medium
- Insert Interval Medium
- Merge Intervals Medium
- Non Overlapping Intervals Medium
- Meeting Rooms Easy
- Meeting Rooms II Medium
- Rotate Image Medium
- Spiral Matrix Medium
- Set Matrix Zeroes Medium
- Number of 1 Bits Easy
- Counting Bits Easy
- Reverse Bits Easy
- Missing Number Easy
- Sum of Two Integers Medium
Mock interview