Everyday aim for 1-2 problems.
Robby Horvath made a Notion checklist template to keep track of all problems. Check it out!
LeetCode is much easier when we all work together. Please send any questions you have on the LeetCode problems/theory/anything and we'll answer them on Discord!
Join the Discord here!
Pre-reqs:
- CS0445 (highly recommended)
- CS1501 (less necessary)
- Understanding Runtime
- Know how to use Hash Tables
Pre-req Resources (optional):
Problems
Week 1 - Arrays
- Contains Duplicate
- Two Sum
- Buy & Sell Stock
- Product of Array Except Self
- Maximum Subarray
- Maximum Product Subarray
- Game of Life (Bonus)
Week 1 - Arrays Resources
Week 2 - Arrays + Intervals
- Min Rotate Sort Array
- Search Rotate Sort Array
- 3Sum
- Container w Most Water
- Insert Interval
- Merge Intervals
- Happy Number (Bonus)
Week 2 - Arrays Resources
- How Binary Search Makes Computers Much, Much Faster
- Introduction to Binary Search
- Algorithms: Binary Search
Week 3 - Intervals + Matrix
- Non-overlapping Intervals
- Meeting Rooms I
- Set Matrix Zeroes
- Spiral Matrix
- Rotate Img
- Word Search
- Sliding Window Max (Bonus)
Week 3 - Matrix Resources
Week 4 - Linked Lists
- Reverse Linked List
- Linked List Cycle
- Merge 2 Sorted Lists
- Merge k Sorted Lists
- Remove Nth Node
- Reorder List
- Sort Colors (Bonus)
Week 4 - Linked Lists Resources
- Data Structures: Linked Lists
- Introduction to Linked Lists
- Data Structures: Heaps
- HeapQ for Algorithms in Python
Week 5 - String
- Reverse String
- Valid Anagram
- Valid Parentheses
- Valid Palindrome
- Group Anagrams
- Longest Palindromic Substring
- Palindromic Substrings
- Odd Even Linked List (Bonus)
Week 5 - String Resources
Week 6 - String + Trees
- Minimum Window Substring
- Longest Repeating Char Replacement
- Longest Substring Without Repeating Characters
- Tree Inorder Traversal
- Tree Preorder Traversal
- Tree Postorder Traversal
- Encode + Decode Strings
- Max Depth of Binary Tree
- Bonus - Do all the Tree traversal problems iteratively
- Find Duplicate Number (Bonus)
Week 6 - Trees Resources
Week 7 - Trees
- Same Tree
- Invert Binary Tree
- Binary Tree Max Path Sum
- Binary Tree Level Order Traversal
- Serialize + Deserialize Binary Tree
- Subtree of Another Tre
- LRU Cache (Bonus)
Week 8 - Trees
- Construct Binary Tree From Preorder and Inorder Traversal
- Validate BST
- Kth Smallest Element in BST
- LCA of BST
- Implement Trie
- Design Add + Search Words Data Structure
- University Career Fair (Bonus)
Week 9 - Graphs
- Number of Islands
- All Paths from Src
- Word Search II
- Clone Graph
- Course Schedule
- Pacific Atlantic Water Flow
- Longest Consecutive Seq
- Longest Common Prefix (Bonus)
Week 9 - Graph Resources
Week 10 - Graphs
- Number of Connected Comps in Graph
- Word Search II
- Alien Dictionary
- Graph Valid Tree
- Top K Frequent Elements
- Find Median from Data Stream
- Daily Temp (Bonus)
Week 11 - Dynamic Programming
- Climbing Stairs
- House Robber
- House Robber II
- Coin Change
- Longest Common Subsequence
- BST Iterator (Bonus)
Week 11 - Dynamic Programming Resources
- What is Dynammic Programming and How to Use It by CS Dojo
- 5 Simple Steps for DP by Reducible
- MIT Lectures on DP (numbered 19-21)
- MIT Lectures on Advanced DP
Week 12 - Dynamic Programming
- Unique Paths
- Jump Game
- Decode Ways
- Longest Increasing Subsequence
- Word Break
- Combination Sum IV
- Max Area of Island (Bonus)
Week 13 (Bonus) - Binary
- Sum of Two Integers
- Number of 1 Bits
- Counting Bits
- Missing Number
- Reverse Bits
- Developer-Tester Integration (Bonus)
Week 14 (Bonus) - Recursion and Backtracking
- Permutations
- Letter Combos of Phone Number
- Sudoku Solver
- Subsets
- Generate Parentheses
- Palindrome Partitioning
- Flatten Nested List Iterator (Bonus)
Week 15 (Bonus) - Binary Search
- Discussion
- First Bad Version
- Sqrt(x)
- Search Insert Position
- Capacity to Ship Packages within D Days
- Split Array Largest Sum
- Koko Eating Bananas
- Range Sum Query (Bonus)
- Range Sum Query 2d Immutable (Bonus)
Solutions
Week 1 - Arrays
- Contains Duplicate
- Two Sum
- Buy & Sell Stock
- Product of Array Except Self
- Maximum Subarray
- Maximum Product Subarray
- Game of Life (Bonus)
Week 2 - Arrays + Intervals
- Min Rotate Sort Array
- Search Rotate Sort Array
- 3Sum
- Container w Most Water
- Insert Interval
- Merge Intervals
- Happy Number (Bonus)
Week 3 - Intervals + Matrix
- Non-overlapping Intervals
- Meeting Rooms I
- Set Matrix Zeroes
- Spiral Matrix
- Rotate Img
- Word Search
- Sliding Window Max (Bonus)
Week 4 - Linked Lists
- Reverse Linked List
- Linked List Cycle
- Merge 2 Sorted Lists
- Merge k Sorted Lists
- Remove Nth Node
- Reorder List
- Sort Colors (Bonus)
Week 5 - String
- Reverse String
- Valid Anagram
- Valid Parentheses
- Valid Palindrome
- Group Anagrams
- Longest Palindromic Substring
- Palindromic Substrings
- Odd Even Linked List (Bonus)
Week 6 - String + Trees
- Minimum Window Substring
- Longest Repeating Char Replacement
- Longest Substring Without Repeating Characters
- Encode + Decode Strings
- Max Depth of Binary Tree
- Tree Inorder Traversal
- Tree Preorder Traversal
- Tree Postorder Traversal
- Bonus - Do all the Tree traversal problems iteratively
- Find Duplicate Number (Bonus)
Week 7 - Trees
- Same Tree
- Invert Binary Tree
- Binary Tree Max Path Sum
- Binary Tree Level Order Traversal
- Serialize + Deserialize Binary Tree
- Subtree of Another Tree
- LRU Cache (Bonus)
Week 8 - Trees
- Construct Binary Tree From Preorder and Inorder Traversal
- Validate BST
- Kth Smallest Element in BST
- LCA of BST
- Implement Trie
- Design Add + Search Words Data Structure
- University Career Fair (Bonus)
Week 9 - Graphs
- Number of Islands
- All Paths from Src
- Word Search II
- Clone Graph
- Course Schedule
- Pacific Atlantic Water Flow
- Longest Consecutive Seq
- Word Search II
- Longest Common Prefix (Bonus)
Week 10 - Graphs
- Number of Connected Comps in Graph
- Alien Dictionary
- Graph Valid Tree
- Top K Frequent Elements
- Find Median from Data Stream
- Daily Temp (Bonus)
Week 11 - Dynamic Programming
- Climbing Stairs
- House Robber
- House Robber II
- Coin Change
- Longest Common Subsequence
- BST Iterator (Bonus)
Week 12 - Dynamic Programming
- Unique Paths
- Jump Game
- Decode Ways
- Longest Increasing Subsequence
- Word Break
- Combination Sum IV
- Max Area of Island (Bonus)
Week 13 - Binary
- Sum of Two Integers
- Number of 1 Bits
- Counting Bits
- Missing Number
- Reverse Bits
- Developer-Tester Integration (Bonus)
Week 14 (Bonus) - Recursion and Backtracking
- Permutations
- Letter Combos of Phone Number
- Sudoku Solver
- Subsets
- Generate Parentheses
- Palindrome Partitioning
- Flatten Nested List Iterator (Bonus)