NeetCode 450
Arrays & Hashing
- Contains Duplicate (Easy)
- Valid Anagram (Easy)
- Concatenation of Array (Easy)
- Replace Elements With Greatest Element On Right Side (Easy)
- Is Subsequence (Easy)
- Length of Last Word (Easy)
- Two Sum (Easy)
- Longest Common Prefix (Easy)
- Group Anagrams (Medium)
- Pascals Triangle (Easy)
- Remove Element (Easy)
- Unique Email Addresses (Easy)
- Isomorphic Strings (Easy)
- Can Place Flowers (Easy)
- Majority Element (Easy)
- Next Greater Element I (Easy)
- Find Pivot Index (Easy)
- Range Sum Query - Immutable (Easy)
- Find All Numbers Disappeared in An Array (Easy)
- Maximum Number of Balloons (Easy)
- Word Pattern (Easy)
- Design HashSet (Easy)
- Design HashMap (Easy)
- Sort an Array (Medium)
- Top K Frequent Elements (Medium)
- Product of Array Except Self (Medium)
- Valid Sudoku (Medium)
- Encode and Decode Strings (Medium)
- Longest Consecutive Sequence (Medium)
- Sort Colors (Medium)
- Encode and Decode TinyURL (Medium)
- Brick Wall (Medium)
- Best Time to Buy And Sell Stock II (Medium)
- Subarray Sum Equals K (Medium)
- Unique Length 3 Palindromic Subsequences (Medium)
- Minimum Number of Swaps to Make The String Balanced (Medium)
- Number of Pairs of Interchangeable Rectangles (Medium)
- Maximum Product of The Length of Two Palindromic Subsequences (Medium)
- Grid Game (Medium)
- Find All Anagrams in a String (Medium)
- Find The Index of The First Occurrence in a String (Easy)
- Wiggle Sort (Medium)
- Largest Number (Medium)
- Continuous Subarray Sum (Medium)
- Push Dominoes (Medium)
- Repeated DNA Sequences (Medium)
- Insert Delete Get Random O(1) (Medium)
- Check if a String Contains all Binary Codes of Size K (Medium)
- Range Sum Query 2D Immutable (Medium)
- Non Decreasing Array (Medium)
- First Missing Positive (Hard)
- Sign of An Array (Easy)
- Find the Difference of Two Arrays (Easy)
- Design Parking System (Easy)
- Number of Zero-Filled Subarrays (Medium)
- Optimal Partition of String (Medium)
- Design Underground System (Medium)
- Minimum Penalty for a Shop (Medium)
- Text Justification (Hard)
- Naming a Company (Hard)
Two Pointers
- Valid Palindrome (Easy)
- Valid Palindrome II (Easy)
- Minimum Difference Between Highest And Lowest of K Scores (Easy)
- Merge Strings Alternately (Easy)
- Reverse String (Easy)
- Merge Sorted Array (Easy)
- Move Zeroes (Easy)
- Remove Duplicates From Sorted Array (Easy)
- Remove Duplicates From Sorted Array II (Medium)
- Two Sum II Input Array Is Sorted (Medium)
- 3Sum (Medium)
- 4Sum (Medium)
- Container With Most Water (Medium)
- Number of Subsequences That Satisfy The Given Sum Condition (Medium)
- Rotate Array (Medium)
- Array With Elements Not Equal to Average of Neighbors (Medium)
- Boats to Save People (Medium)
- Trapping Rain Water (Hard)
Sliding Window
- Best Time to Buy And Sell Stock (Easy)
- Contains Duplicate II (Easy)
- Number of Sub Arrays of Size K and Avg Greater than or Equal to Threshold (Medium)
- Longest Substring Without Repeating Characters (Medium)
- Longest Repeating Character Replacement (Medium)
- Permutation In String (Medium)
- Frequency of The Most Frequent Element (Medium)
- Fruits into Basket (Medium)
- Maximum Number of Vowels in a Substring of Given Length (Medium)
- Minimum Number of Flips to Make The Binary String Alternating (Medium)
- Minimum Size Subarray Sum (Medium)
- Find K Closest Elements (Medium)
- Minimum Operations to Reduce X to Zero (Medium)
- Minimum Window Substring (Hard)
- Sliding Window Maximum (Hard)
Stack
- Valid Parentheses (Easy)
- Baseball Game (Easy)
- Implement Stack Using Queues (Easy)
- Min Stack (Medium)
- Evaluate Reverse Polish Notation (Medium)
- Removing Stars From a String (Medium)
- Validate Stack Sequences (Medium)
- Generate Parentheses (Medium)
- Asteroid Collision (Medium)
- Daily Temperatures (Medium)
- Online Stock Span (Medium)
- Car Fleet (Medium)
- Simplify Path (Medium)
- Decode String (Medium)
- Remove K Digits (Medium)
- Remove All Adjacent Duplicates In String II (Medium)
- 132 Pattern (Medium)
- Maximum Frequency Stack (Hard)
- Largest Rectangle In Histogram (Hard)
Binary Search
- Binary Search (Easy)
- Search Insert Position (Easy)
- Guess Number Higher Or Lower (Easy)
- Arranging Coins (Easy)
- Squares of a Sorted Array (Easy)
- Valid Perfect Square (Easy)
- Sqrt(x) (Easy)
- Single Element in a Sorted Array (Medium)
- Capacity to Ship Packages (Medium)
- Find Peak Element (Medium)
- Successful Pairs of Spells and Potions (Medium)
- Search a 2D Matrix (Medium)
- Koko Eating Bananas (Medium)
- Minimize the Maximum Difference of Pairs (Medium)
- Find Minimum In Rotated Sorted Array (Medium)
- Search In Rotated Sorted Array (Medium)
- Search In Rotated Sorted Array II (Medium)
- Time Based Key Value Store (Medium)
- Find First And Last Position of Element In Sorted Array (Medium)
- Maximum Number of Removable Characters (Medium)
- Populating Next Right Pointers In Each Node (Medium)
- Search Suggestions System (Medium)
- Split Array Largest Sum (Hard)
- Median of Two Sorted Arrays (Hard)
Linked List
- Reverse Linked List (Easy)
- Merge Two Sorted Lists (Easy)
- Palindrome Linked List (Easy)
- Remove Linked List Elements (Easy)
- Remove Duplicates From Sorted List (Easy)
- Middle of the Linked List (Easy)
- Intersection of Two Linked Lists (Easy)
- Reorder List (Medium)
- Maximum Twin Sum Of A Linked List (Medium)
- Remove Nth Node From End of List (Medium)
- Swapping Nodes in a Linked List (Medium)
- LFU Cache (Hard)
- Copy List With Random Pointer (Medium)
- Design Linked List (Medium)
- Design Browser History (Medium)
- Add Two Numbers (Medium)
- Linked List Cycle (Easy)
- Find The Duplicate Number (Medium)
- Swap Nodes In Pairs (Medium)
- Sort List (Medium)
- Partition List (Medium)
- Rotate List (Medium)
- Reverse Linked List II (Medium)
- Design Circular Queue (Medium)
- Insertion Sort List (Medium)
- Split Linked List in Parts (Medium)
- LRU Cache (Medium)
- Merge K Sorted Lists (Hard)
- Reverse Nodes In K Group (Hard)
Trees
- Binary Tree Inorder Traversal (Easy)
- Binary Tree Preorder Traversal (Easy)
- Binary Tree Postorder Traversal (Easy)
- Invert Binary Tree (Easy)
- Maximum Depth of Binary Tree (Easy)
- Diameter of Binary Tree (Easy)
- Balanced Binary Tree (Easy)
- Same Tree (Easy)
- Subtree of Another Tree (Easy)
- Convert Sorted Array to Binary Search Tree (Easy)
- Merge Two Binary Trees (Easy)
- Path Sum (Easy)
- Construct String From Binary Tree (Easy)
- Lowest Common Ancestor of a Binary Search Tree (Medium)
- Insert into a Binary Search Tree (Medium)
- Delete Node in a BST (Medium)
- Binary Tree Level Order Traversal (Medium)
- Binary Tree Right Side View (Medium)
- Minimum Distance between BST Nodes (Easy)
- Symmetric Tree (Easy)
- Minimum Time to Collect All Apples in a Tree (Medium)
- Binary Tree Zigzag Level Order Traversal (Medium)
- Construct Quad Tree (Medium)
- Find Duplicate Subtrees (Medium)
- Check Completeness of a Binary Tree (Medium)
- Construct Binary Tree from Inorder and Postorder Traversal (Medium)
- Maximum Width of Binary Tree (Medium)
- Time Needed to Inform All Employees (Medium)
- Count Good Nodes In Binary Tree (Medium)
- Validate Binary Search Tree (Medium)
- Kth Smallest Element In a Bst (Medium)
- Construct Binary Tree From Preorder And Inorder Traversal (Medium)
- Unique Binary Search Trees (Medium)
- Unique Binary Search Trees II (Medium)
- Sum Root to Leaf Numbers (Medium)
- House Robber III (Medium)
- Flip Equivalent Binary Trees (Medium)
- Operations On Tree (Medium)
- All Possible Full Binary Trees (Medium)
- Find Bottom Left Tree Value (Medium)
- Trim a Binary Search Tree (Medium)
- Binary Search Tree Iterator (Medium)
- Convert Bst to Greater Tree (Medium)
- Binary Tree Maximum Path Sum (Hard)
- Serialize And Deserialize Binary Tree (Hard)
Tries
- Implement Trie Prefix Tree (Medium)
- Design Add And Search Words Data Structure (Medium)
- Extra Characters in a String (Medium)
- Word Search II (Hard)
Heap / Priority Queue
- Kth Largest Element In a Stream (Easy)
- Last Stone Weight (Easy)
- K Closest Points to Origin (Medium)
- Kth Largest Element In An Array (Medium)
- Task Scheduler (Medium)
- Design Twitter (Medium)
- Minimize Deviation in Array (Hard)
- Maximum Subsequence Score (Medium)
- Single Threaded Cpu (Medium)
- Seat Reservation Manager (Medium)
- Process Tasks Using Servers (Medium)
- Find The Kth Largest Integer In The Array (Medium)
- Reorganize String (Medium)
- Longest Happy String (Medium)
- Car Pooling (Medium)
- Find Median From Data Stream (Hard)
- Maximum Performance of a Team (Hard)
- IPO (Hard)
Backtracking
- Subsets (Medium)
- Combination Sum (Medium)
- Combinations (Medium)
- Permutations (Medium)
- Subsets II (Medium)
- Combination Sum II (Medium)
- Permutations II (Medium)
- Word Search (Medium)
- Palindrome Partitioning (Medium)
- Restore IP Addresses (Medium)
- Letter Combinations of a Phone Number (Medium)
- Matchsticks to Square (Medium)
- Splitting a String Into Descending Consecutive Values (Medium)
- Find Unique Binary String (Medium)
- Maximum Length of a Concatenated String With Unique Characters (Medium)
- Partition to K Equal Sum Subsets (Medium)
- N Queens (Hard)
- N Queens II (Hard)
Graphs
- Island Perimeter (Easy)
- Verifying An Alien Dictionary (Easy)
- Number of Islands (Medium)
- Clone Graph (Medium)
- Max Area of Island (Medium)
- Count Sub Islands (Medium)
- Pacific Atlantic Water Flow (Medium)
- Surrounded Regions (Medium)
- Reorder Routes to Make All Paths Lead to The City Zero (Medium)
- Rotting Oranges (Medium)
- Walls And Gates (Medium)
- Snakes And Ladders (Medium)
- Open The Lock (Medium)
- Find Eventual Safe States (Medium)
- Course Schedule (Medium)
- Course Schedule II (Medium)
- Course Schedule IV (Medium)
- Check if Move Is Legal (Medium)
- Shortest Bridge (Medium)
- Shortest Path in Binary Matrix (Medium)
- Redundant Connection (Medium)
- Number of Connected Components In An Undirected Graph (Medium)
- Graph Valid Tree (Medium)
- Accounts Merge (Medium)
- Find Closest Node to Given Two Nodes (Medium)
- As Far from Land as Possible (Medium)
- Shortest Path with Alternating Colors (Medium)
- Minimum Fuel Cost to Report to the Capital (Medium)
- Minimum Score of a Path Between Two Cities (Medium)
- Number of Closed Islands (Medium)
- Number of Enclaves (Medium)
- Minimum Number of Vertices to Reach all Nodes (Medium)
- Is Graph Bipartite? (Medium)
- Evaluate Division (Medium)
- Detonate the Maximum Bombs (Medium)
- Largest Color Value in a Directed Graph (Hard)
- Minimum Number of Days to Eat N Oranges (Hard)
- Word Ladder (Hard)
Advanced Graphs
- Path with Minimum Effort (Medium)
- Reconstruct Itinerary (Hard)
- Min Cost to Connect All Points (Medium)
- Network Delay Time (Medium)
- Path with Maximum Probability (Medium)
- Swim In Rising Water (Hard)
- Alien Dictionary (Hard)
- Cheapest Flights Within K Stops (Medium)
- Number of Good Paths (Hard)
- Remove Max Number of Edges to Keep Graph Fully Traversable (Hard)
- Find Critical and Pseudo Critical Edges in Minimum Spanning Tree (Hard)
1-D Dynamic Programming
- Climbing Stairs (Easy)
- Min Cost 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)
- Partition Equal Subset Sum (Medium)
- Triangle (Medium)
- Delete And Earn (Medium)
- Paint House (Medium)
- Combination Sum IV (Medium)
- Perfect Squares (Medium)
- Check if There is a Valid Partition For The Array (Medium)
- Maximum Subarray Min Product (Medium)
- Minimum Cost For Tickets (Medium)
- Integer Break (Medium)
- Number of Longest Increasing Subsequence (Medium)
- Stickers to Spell Word (Hard)
- N-th Tribonacci Number (Easy)
- Uncrossed Lines (Medium)
- Solving Questions With Brainpower (Medium)
- Count Ways to Build Good Strings (Medium)
- New 21 Game (Medium)
- Best Team with no Conflicts (Medium)
- Stone Game III (Hard)
- Concatenated Words (Hard)
- Maximize Score after N Operations (Hard)
- Find the Longest Valid Obstacle Course at Each Position (Hard)
- Count all Valid Pickup and Delivery Options (Hard)
2-D Dynamic Programming
- Unique Paths (Medium)
- Unique Paths II (Medium)
- Longest Common Subsequence (Medium)
- Longest Palindromic Subsequence (Medium)
- Last Stone Weight II (Medium)
- Best Time to Buy And Sell Stock With Cooldown (Medium)
- Coin Change II (Medium)
- Target Sum (Medium)
- Interleaving String (Medium)
- Stone Game (Medium)
- Minimum Path Sum (Medium)
- Longest Increasing Path In a Matrix (Hard)
- Maximal Square (Medium)
- Ones and Zeroes (Medium)
- Maximum Alternating Subsequence Sum (Medium)
- Distinct Subsequences (Hard)
- Edit Distance (Medium)
- Count Vowels Permutation (Hard)
- Burst Balloons (Hard)
- Number of Ways to Rearrange Sticks With K Sticks Visible (Hard)
- Regular Expression Matching (Hard)
- Stone Game II (Medium)
- Flip String to Monotone Increasing (Medium)
- Maximum Value of K Coins from Piles (Hard)
- Number of Music Playlists (Hard)
- Number of Ways to Form a Target String Given a Dictionary (Hard)
- Profitable Schemes (Hard)
- Minimum Cost to Cut a Stick (Hard)
Greedy
- Maximum Subarray (Medium)
- Maximum Sum Circular Subarray (Medium)
- Longest Turbulent Array (Medium)
- Jump Game (Medium)
- Jump Game II (Medium)
- Jump Game VII (Medium)
- Gas Station (Medium)
- Hand of Straights (Medium)
- Minimize Maximum of Array (Medium)
- Dota2 Senate (Medium)
- Maximum Points You Can Obtain From Cards (Medium)
- Merge Triplets to Form Target Triplet (Medium)
- Partition Labels (Medium)
- Valid Parenthesis String (Medium)
- Eliminate Maximum Number of Monsters (Medium)
- Two City Scheduling (Medium)
- Maximum Length of Pair Chain (Medium)
- Minimum Deletions to Make Character Frequencies Unique (Medium)
- Candy (Medium)
Intervals
- Insert Interval (Medium)
- Merge Intervals (Medium)
- Non Overlapping Intervals (Medium)
- Meeting Rooms (Easy)
- Meeting Rooms II (Medium)
- Remove Covered Intervals (Medium)
- Minimum Interval to Include Each Query (Hard)
- Data Stream as Disjoint Intervals (Hard)
Math & Geometry
- Excel Sheet Column Title (Easy)
- Greatest Common Divisor of Strings (Easy)
- Count Odd Numbers in an Interval Range (Easy)
- Matrix Diagonal Sum (Easy)
- Maximum Points on a Line (Hard)
- Rotate Image (Medium)
- Spiral Matrix (Medium)
- Spiral Matrix II (Medium)
- Set Matrix Zeroes (Medium)
- Happy Number (Easy)
- Plus One (Easy)
- Palindrome Number (Easy)
- Ugly Number (Easy)
- Shift 2D Grid (Easy)
- Roman to Integer (Easy)
- Integer to Roman (Medium)
- Pow(x, n) (Medium)
- Multiply Strings (Medium)
- Detect Squares (Medium)
- Robot Bounded In Circle (Medium)
- Zigzag Conversion (Medium)
- Find Missing Observations (Medium)
Bit Manipulation
- Single Number (Easy)
- Number of 1 Bits (Easy)
- Counting Bits (Easy)
- Reverse Bits (Easy)
- Missing Number (Easy)
- Shuffle the Array (Easy)
- Add to Array-Form of Integer (Easy)
- Sum of Two Integers (Medium)
- Reverse Integer (Medium)
- Add Binary (Easy)
JavaScript
- Create Hello World Function (Easy)
- Counter (Easy)
- Counter II (Easy)
- Apply Transform over each Element in Array (Easy)
- Filter Elements from Array (Easy)
- Array Reduce Transformation (Easy)
- Function Composition (Easy)
- Allow One Function Call (Easy)
- Memoize (Medium)
- Curry (Medium)
- Sleep (Easy)
- Promise Time Limit (Easy)
- Promise Pool (Medium)
- Cache With Time Limit (Medium)
- Debounce (Medium)
- Throttle (Medium)
- JSON Deep Equal (Medium)
- Convert Object to JSON String (Medium)
- Array of Objects to Matrix (Medium)
- Difference Between Two Objects (Medium)
- Chunk Array (Easy)
- Flatten Deeply Nested Array (Medium)
- Array Prototype Last (Easy)
- Group By (Medium)
- Check if Object Instance of Class (Medium)
- Call Function with Custom Context (Medium)
- Event Emitter (Medium)
- Array Wrapper (Easy)
- Generate Fibonacci Sequence (Easy)
- Nested Array Generator (Medium)