Salesforce LeetCode Questions
188 questions all-time · 25 easy · 112 medium · 51 hard
| # | Problem | Difficulty | Frequency | Acceptance |
|---|---|---|---|---|
| 1 | Minimum Operations to Reduce an Integer to 0 Dynamic Programming, Greedy, Bit Manipulation | Medium | 100 | 0.6% |
| 2 | String Compression Two Pointers, String | Medium | 88 | 0.6% |
| 3 | Time Needed to Rearrange a Binary String String, Dynamic Programming, Simulation | Medium | 81 | 0.5% |
| 4 | LFU Cache Hash Table, Linked List, Design, Doubly-Linked List | Hard | 80 | 0.5% |
| 5 | Closest Equal Element Queries Array, Hash Table, Binary Search | Medium | 77 | 0.5% |
| 6 | Smallest Substring With Identical Characters I Array, Binary Search, Enumeration | Hard | 73 | 0.2% |
| 7 | Smallest Substring With Identical Characters II String, Binary Search | Hard | 73 | 0.4% |
| 8 | Remove Adjacent Almost-Equal Characters String, Dynamic Programming, Greedy | Medium | 71 | 0.5% |
| 9 | Subarray Product Less Than K Array, Binary Search, Sliding Window, Prefix Sum | Medium | 70 | 0.5% |
| 10 | LRU Cache Hash Table, Linked List, Design, Doubly-Linked List | Medium | 67 | 0.5% |
| 11 | Maximum Number of Occurrences of a Substring Hash Table, String, Sliding Window | Medium | 67 | 0.5% |
| 12 | Maximum Palindromes After Operations Array, Hash Table, String, Greedy, Sorting, Counting | Medium | 67 | 0.5% |
| 13 | Maximum Product of Three Numbers Array, Math, Sorting | Easy | 66 | 0.5% |
| 14 | Minimize Malware Spread Array, Hash Table, Depth-First Search, Breadth-First Search, Union-Find, Graph Theory | Hard | 66 | 0.4% |
| 15 | Distinct Subsequences String, Dynamic Programming | Hard | 64 | 0.5% |
| 16 | Power Grid Maintenance Array, Hash Table, Depth-First Search, Breadth-First Search, Union-Find, Graph Theory, Heap (Priority Queue), Ordered Set | Medium | 64 | 0.6% |
| 17 | Longest Substring Without Repeating Characters Hash Table, String, Sliding Window | Medium | 62 | 0.4% |
| 18 | Count the Number of Fair Pairs Array, Two Pointers, Binary Search, Sorting | Medium | 62 | 0.5% |
| 19 | Maximum Frequency Stack Hash Table, Stack, Design, Ordered Set | Hard | 62 | 0.7% |
| 20 | Minimize Maximum Component Cost Binary Search, Union-Find, Graph Theory, Sorting | Medium | 62 | 0.4% |
| 21 | Group Anagrams Array, Hash Table, String, Sorting | Medium | 61 | 0.7% |
| 22 | Merge Intervals Array, Sorting | Medium | 61 | 0.5% |
| 23 | Check Whether Two Strings are Almost Equivalent Hash Table, String, Counting | Easy | 61 | 0.6% |
| 24 | Number of Islands Array, Depth-First Search, Breadth-First Search, Union-Find, Matrix | Medium | 61 | 0.6% |
| 25 | Course Schedule II Depth-First Search, Breadth-First Search, Graph Theory, Topological Sort | Medium | 61 | 0.6% |
| 26 | Beautiful Towers II Array, Stack, Monotonic Stack | Medium | 61 | 0.4% |
| 27 | Beautiful Towers I Array, Stack, Monotonic Stack | Medium | 61 | 0.4% |
| 28 | Check If a Number Is Majority Element in a Sorted Array Array, Binary Search | Easy | 61 | 0.6% |
| 29 | Height Checker Array, Sorting, Counting Sort | Easy | 61 | 0.8% |
| 30 | Matrix Similarity After Cyclic Shifts Array, Math, Matrix, Simulation | Easy | 61 | 0.7% |
| 31 | Number of Self-Divisible Permutations Array, Math, Dynamic Programming, Backtracking, Bit Manipulation, Number Theory, Bitmask | Medium | 61 | 0.7% |
| 32 | Maximum Number That Makes Result of Bitwise AND Zero String, Greedy, Sorting | Medium | 61 | 0.7% |
| 33 | Find Subarray With Bitwise OR Closest to K Array, Binary Search, Bit Manipulation, Segment Tree | Hard | 61 | 0.3% |
| 34 | Equalize Strings by Adding or Removing Characters at Ends String, Binary Search, Dynamic Programming, Sliding Window, Hash Function | Medium | 61 | 0.6% |
| 35 | Count the Number of Inversions Array, Dynamic Programming | Hard | 61 | 0.3% |
| 36 | Find the Minimum Area to Cover All Ones II Array, Matrix, Enumeration | Hard | 61 | 0.6% |
| 37 | Find the Minimum Area to Cover All Ones I Array, Matrix | Medium | 61 | 0.8% |
| 38 | Maximum Height of a Triangle Array, Enumeration | Easy | 61 | 0.4% |
| 39 | Maximize Grid Happiness Dynamic Programming, Bit Manipulation, Memoization, Bitmask | Hard | 61 | 0.4% |
| 40 | Average Waiting Time Array, Simulation | Medium | 61 | 0.7% |
| 41 | Split a String in Balanced Strings String, Greedy, Counting | Easy | 61 | 0.9% |
| 42 | Minimum Time to Visit All Houses Array, Prefix Sum | Medium | 61 | 0.7% |
| 43 | Palindromic Substrings Two Pointers, String, Dynamic Programming | Medium | 58 | 0.7% |
| 44 | Delete and Earn Array, Hash Table, Dynamic Programming | Medium | 58 | 0.6% |
| 45 | Binary Tree Maximum Path Sum Dynamic Programming, Tree, Depth-First Search, Binary Tree | Hard | 56 | 0.4% |
| 46 | Find the Last Marked Nodes in Tree Tree, Depth-First Search | Hard | 56 | 0.6% |
| 47 | Longest Common Subsequence String, Dynamic Programming | Medium | 56 | 0.6% |
| 48 | Best Time to Buy and Sell Stock Array, Dynamic Programming | Easy | 53 | 0.6% |
| 49 | Minimum Number of Taps to Open to Water a Garden Array, Dynamic Programming, Greedy | Hard | 53 | 0.5% |
| 50 | Number of Divisible Triplet Sums Array, Hash Table | Medium | 53 | 0.7% |
| 51 | K-diff Pairs in an Array Array, Hash Table, Two Pointers, Binary Search, Sorting | Medium | 53 | 0.5% |
| 52 | Reverse Nodes in k-Group Linked List, Recursion | Hard | 53 | 0.7% |
| 53 | All Nodes Distance K in Binary Tree Hash Table, Tree, Depth-First Search, Breadth-First Search, Binary Tree | Medium | 53 | 0.7% |
| 54 | Count Subarrays With Median K Array, Hash Table, Prefix Sum | Hard | 53 | 0.5% |
| 55 | Minimum Removals to Balance Array Array, Binary Search, Sliding Window, Sorting | Medium | 53 | 0.5% |
| 56 | Longest Palindromic Substring Two Pointers, String, Dynamic Programming | Medium | 50 | 0.4% |
| 57 | Trapping Rain Water Array, Two Pointers, Dynamic Programming, Stack, Monotonic Stack | Hard | 50 | 0.7% |
| 58 | Min Stack Stack, Design | Medium | 50 | 0.6% |
| 59 | Count Palindromic Subsequences String, Dynamic Programming | Hard | 50 | 0.4% |
| 60 | Number of Digit One Math, Dynamic Programming, Recursion | Hard | 50 | 0.4% |
| 61 | Two Sum Array, Hash Table | Easy | 50 | 0.6% |
| 62 | Zigzag Conversion String | Medium | 50 | 0.5% |
| 63 | Report Spam Message Array, Hash Table, String | Medium | 50 | 0.5% |
| 64 | Minimum Window Substring Hash Table, String, Sliding Window | Hard | 46 | 0.5% |
| 65 | Kth Largest Element in an Array Array, Divide and Conquer, Sorting, Heap (Priority Queue), Quickselect | Medium | 46 | 0.7% |
| 66 | Top K Frequent Elements Array, Hash Table, Divide and Conquer, Sorting, Heap (Priority Queue), Bucket Sort, Counting, Quickselect | Medium | 46 | 0.7% |
| 67 | Asteroid Collision Array, Stack, Simulation | Medium | 46 | 0.5% |
| 68 | Search Suggestions System Array, String, Binary Search, Trie, Sorting, Heap (Priority Queue) | Medium | 46 | 0.7% |
| 69 | Sum of Nodes with Even-Valued Grandparent Tree, Depth-First Search, Breadth-First Search, Binary Tree | Medium | 46 | 0.9% |
| 70 | Divide Array Into Arrays With Max Difference Array, Greedy, Sorting | Medium | 46 | 0.8% |
| 71 | Maximum Units on a Truck Array, Greedy, Sorting | Easy | 46 | 0.7% |
| 72 | Word Search Array, String, Backtracking, Depth-First Search, Matrix | Medium | 46 | 0.5% |
| 73 | Koko Eating Bananas Array, Binary Search | Medium | 46 | 0.5% |
| 74 | Container With Most Water Array, Two Pointers, Greedy | Medium | 42 | 0.6% |
| 75 | Merge k Sorted Lists Linked List, Divide and Conquer, Heap (Priority Queue), Merge Sort | Hard | 42 | 0.6% |
| 76 | Sort Colors Array, Two Pointers, Sorting | Medium | 42 | 0.7% |
| 77 | Validate Binary Search Tree Tree, Depth-First Search, Binary Search Tree, Binary Tree | Medium | 42 | 0.4% |
| 78 | Meeting Rooms II Array, Two Pointers, Greedy, Sorting, Heap (Priority Queue), Prefix Sum | Medium | 42 | 0.5% |
| 79 | Coin Change Array, Dynamic Programming, Breadth-First Search | Medium | 42 | 0.5% |
| 80 | Rotting Oranges Array, Breadth-First Search, Matrix | Medium | 42 | 0.6% |
| 81 | Word Ladder Hash Table, String, Breadth-First Search | Hard | 42 | 0.5% |
| 82 | Magnetic Force Between Two Balls Array, Binary Search, Sorting | Medium | 42 | 0.7% |
| 83 | Largest Number After Digit Swaps by Parity Sorting, Heap (Priority Queue) | Easy | 42 | 0.7% |
| 84 | Maximum Subarray Array, Divide and Conquer, Dynamic Programming | Medium | 42 | 0.5% |
| 85 | Minimum Absolute Difference Array, Sorting | Easy | 42 | 0.8% |
| 86 | Gas Station Array, Greedy | Medium | 42 | 0.5% |
| 87 | Median of Two Sorted Arrays Array, Binary Search, Divide and Conquer | Hard | 42 | 0.5% |
| 88 | Minimum Difficulty of a Job Schedule Array, Dynamic Programming | Hard | 42 | 0.6% |
| 89 | Boundary of Binary Tree Tree, Depth-First Search, Binary Tree | Medium | 42 | 0.5% |
| 90 | Odd String Difference Array, Hash Table, String | Easy | 42 | 0.6% |
| 91 | Subarrays with K Different Integers Array, Hash Table, Sliding Window, Counting | Hard | 42 | 0.7% |
| 92 | Remove All Adjacent Duplicates in String II String, Stack | Medium | 42 | 0.6% |
| 93 | Path with Maximum Gold Array, Backtracking, Matrix | Medium | 42 | 0.7% |
| 94 | 3Sum Array, Two Pointers, Sorting | Medium | 36 | 0.4% |
| 95 | Valid Parentheses String, Stack | Easy | 36 | 0.4% |
| 96 | Search in Rotated Sorted Array Array, Binary Search | Medium | 36 | 0.5% |
| 97 | First Missing Positive Array, Hash Table | Hard | 36 | 0.4% |
| 98 | Word Break Array, Hash Table, String, Dynamic Programming, Trie, Memoization | Medium | 36 | 0.5% |
| 99 | Maximal Square Array, Dynamic Programming, Matrix | Medium | 36 | 0.5% |
| 100 | Find Median from Data Stream Two Pointers, Design, Sorting, Heap (Priority Queue), Data Stream | Hard | 36 | 0.5% |
| 101 | Decode String String, Stack, Recursion | Medium | 36 | 0.6% |
| 102 | Count Binary Substrings Two Pointers, String | Easy | 36 | 0.7% |
| 103 | Top K Frequent Words Array, Hash Table, String, Trie, Sorting, Heap (Priority Queue), Bucket Sort, Counting | Medium | 36 | 0.6% |
| 104 | Verify Preorder Sequence in Binary Search Tree Array, Stack, Tree, Binary Search Tree, Recursion, Monotonic Stack, Binary Tree | Medium | 36 | 0.5% |
| 105 | Longest Increasing Path in a Matrix Array, Dynamic Programming, Depth-First Search, Breadth-First Search, Graph Theory, Topological Sort, Memoization, Matrix | Hard | 36 | 0.6% |
| 106 | Find Leaves of Binary Tree Tree, Depth-First Search, Binary Tree | Medium | 36 | 0.8% |
| 107 | Longest Increasing Subsequence Array, Binary Search, Dynamic Programming | Medium | 36 | 0.6% |
| 108 | Sliding Window Maximum Array, Queue, Sliding Window, Heap (Priority Queue), Monotonic Queue | Hard | 36 | 0.5% |
| 109 | Reorganize String Hash Table, String, Greedy, Sorting, Heap (Priority Queue), Counting | Medium | 36 | 0.6% |
| 110 | Number of Visible People in a Queue Array, Stack, Monotonic Stack | Hard | 36 | 0.7% |
| 111 | Max Consecutive Ones III Array, Binary Search, Sliding Window, Prefix Sum | Medium | 36 | 0.7% |
| 112 | Optimal Account Balancing Array, Dynamic Programming, Backtracking, Bit Manipulation, Bitmask | Hard | 36 | 0.5% |
| 113 | Merge Two Sorted Lists Linked List, Recursion | Easy | 36 | 0.7% |
| 114 | All Possible Full Binary Trees Dynamic Programming, Tree, Recursion, Memoization, Binary Tree | Medium | 36 | 0.8% |
| 115 | Maximal Rectangle Array, Dynamic Programming, Stack, Matrix, Monotonic Stack | Hard | 36 | 0.6% |
| 116 | House Robber III Dynamic Programming, Tree, Depth-First Search, Binary Tree | Medium | 36 | 0.6% |
| 117 | Network Delay Time Depth-First Search, Breadth-First Search, Graph Theory, Heap (Priority Queue), Shortest Path | Medium | 36 | 0.6% |
| 118 | Reconstruct Itinerary Array, String, Depth-First Search, Graph Theory, Sorting, Heap (Priority Queue), Eulerian Circuit | Hard | 36 | 0.4% |
| 119 | Missing Number Array, Hash Table, Math, Binary Search, Bit Manipulation, Sorting | Easy | 36 | 0.7% |
| 120 | Design Twitter Hash Table, Linked List, Design, Heap (Priority Queue) | Medium | 36 | 0.4% |
| 121 | Diameter of N-Ary Tree Tree, Depth-First Search | Medium | 36 | 0.8% |
| 122 | Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit Array, Queue, Sliding Window, Heap (Priority Queue), Ordered Set, Monotonic Queue | Medium | 36 | 0.6% |
| 123 | Valid Parenthesis String String, Dynamic Programming, Stack, Greedy | Medium | 36 | 0.4% |
| 124 | Course Schedule Depth-First Search, Breadth-First Search, Graph Theory, Topological Sort | Medium | 36 | 0.5% |
| 125 | Collect Coins in a Tree Array, Tree, Graph Theory, Topological Sort | Hard | 36 | 0.4% |
| 126 | Generate Parentheses String, Dynamic Programming, Backtracking | Medium | 36 | 0.8% |
| 127 | Strange Printer String, Dynamic Programming | Hard | 36 | 0.6% |
| 128 | Maximum Team Size with Overlapping Intervals | Medium | 36 | 0.5% |
| 129 | Integer to Roman Hash Table, Math, String | Medium | 28 | 0.7% |
| 130 | Roman to Integer Hash Table, Math, String | Easy | 28 | 0.7% |
| 131 | Combination Sum Array, Backtracking | Medium | 28 | 0.8% |
| 132 | Product of Array Except Self Array, Prefix Sum | Medium | 28 | 0.7% |
| 133 | Masking Personal Information String | Medium | 28 | 0.6% |
| 134 | Maximum Product Subarray Array, Dynamic Programming | Medium | 28 | 0.4% |
| 135 | Maximum Number of Ways to Partition an Array Array, Hash Table, Counting, Enumeration, Prefix Sum | Hard | 28 | 0.4% |
| 136 | Maximum Number of Non-overlapping Palindrome Substrings Two Pointers, String, Dynamic Programming, Greedy | Hard | 28 | 0.4% |
| 137 | Basic Calculator Math, String, Stack, Recursion | Hard | 28 | 0.5% |
| 138 | K Closest Points to Origin Array, Math, Divide and Conquer, Geometry, Sorting, Heap (Priority Queue), Quickselect | Medium | 28 | 0.7% |
| 139 | Exclusive Time of Functions Array, Stack | Medium | 28 | 0.7% |
| 140 | Shortest Distance to Target String in a Circular Array Array, String | Easy | 28 | 0.7% |
| 141 | Game of Life Array, Matrix, Simulation | Medium | 28 | 0.7% |
| 142 | Last Stone Weight Array, Heap (Priority Queue) | Easy | 28 | 0.7% |
| 143 | Path Sum III Tree, Depth-First Search, Binary Tree | Medium | 28 | 0.5% |
| 144 | Candy Array, Greedy | Hard | 28 | 0.5% |
| 145 | Maximum Earnings From Taxi Array, Hash Table, Binary Search, Dynamic Programming, Sorting | Medium | 28 | 0.5% |
| 146 | Least Number of Unique Integers after K Removals Array, Hash Table, Greedy, Sorting, Counting | Medium | 28 | 0.6% |
| 147 | Backspace String Compare Two Pointers, String, Stack, Simulation | Easy | 28 | 0.5% |
| 148 | Design Snake Game Array, Hash Table, Design, Queue, Simulation | Medium | 28 | 0.4% |
| 149 | Find Pivot Index Array, Prefix Sum | Easy | 28 | 0.6% |
| 150 | Encode and Decode TinyURL Hash Table, String, Design, Hash Function | Medium | 28 | 0.9% |
| 151 | Valid Palindrome Two Pointers, String | Easy | 28 | 0.5% |
| 152 | Max Chunks To Make Sorted II Array, Stack, Greedy, Sorting, Monotonic Stack | Hard | 28 | 0.5% |
| 153 | Bus Routes Array, Hash Table, Breadth-First Search | Hard | 28 | 0.5% |
| 154 | Minimum Equal Sum of Two Arrays After Replacing Zeros Array, Greedy | Medium | 28 | 0.5% |
| 155 | Finding the Number of Visible Mountains Array, Stack, Sorting, Monotonic Stack | Medium | 28 | 0.4% |
| 156 | Number of Operations to Make Network Connected Depth-First Search, Breadth-First Search, Union-Find, Graph Theory | Medium | 28 | 0.7% |
| 157 | Kth Largest Element in a Stream Tree, Design, Binary Search Tree, Heap (Priority Queue), Binary Tree, Data Stream | Easy | 28 | 0.6% |
| 158 | Find Duplicate Subtrees Hash Table, Tree, Depth-First Search, Binary Tree | Medium | 28 | 0.6% |
| 159 | Course Schedule III Array, Greedy, Sorting, Heap (Priority Queue) | Hard | 28 | 0.4% |
| 160 | House Robber II Array, Dynamic Programming | Medium | 28 | 0.5% |
| 161 | Maximum Path Quality of a Graph Array, Backtracking, Graph Theory | Hard | 28 | 0.6% |
| 162 | Partition Equal Subset Sum Array, Dynamic Programming | Medium | 28 | 0.5% |
| 163 | Tree Diameter Tree, Depth-First Search, Breadth-First Search, Graph Theory, Topological Sort | Medium | 28 | 0.6% |
| 164 | Using a Robot to Print the Lexicographically Smallest String Hash Table, String, Stack, Greedy | Medium | 28 | 0.6% |
| 165 | Lexicographically Minimum String After Removing Stars Hash Table, String, Stack, Greedy, Heap (Priority Queue) | Medium | 28 | 0.5% |
| 166 | Shortest Bridge Array, Depth-First Search, Breadth-First Search, Matrix | Medium | 28 | 0.6% |
| 167 | Count Vowel Substrings of a String Hash Table, String | Easy | 28 | 0.7% |
| 168 | Spiral Matrix Array, Matrix, Simulation | Medium | 28 | 0.6% |
| 169 | Longest Substring Of All Vowels in Order String, Sliding Window | Medium | 28 | 0.5% |
| 170 | Find the Duplicate Number Array, Two Pointers, Binary Search, Bit Manipulation | Medium | 28 | 0.6% |
| 171 | Minimum Array Sum Array, Dynamic Programming | Medium | 28 | 0.3% |
| 172 | Construct Binary Tree from Preorder and Inorder Traversal Array, Hash Table, Divide and Conquer, Tree, Binary Tree | Medium | 28 | 0.7% |
| 173 | Burst Balloons Array, Dynamic Programming | Hard | 28 | 0.6% |
| 174 | Time Taken to Cross the Door Array, Queue, Simulation | Hard | 28 | 0.5% |
| 175 | Find K Closest Elements Array, Two Pointers, Binary Search, Sliding Window, Sorting, Heap (Priority Queue) | Medium | 28 | 0.5% |
| 176 | Coin Change II Array, Dynamic Programming | Medium | 28 | 0.6% |
| 177 | Sort Characters By Frequency Hash Table, String, Sorting, Heap (Priority Queue), Bucket Sort, Counting | Medium | 28 | 0.8% |
| 178 | Time Based Key-Value Store Hash Table, String, Binary Search, Design | Medium | 28 | 0.5% |
| 179 | Vertical Order Traversal of a Binary Tree Hash Table, Tree, Depth-First Search, Breadth-First Search, Sorting, Binary Tree | Hard | 28 | 0.5% |
| 180 | Minimum Window Subsequence String, Dynamic Programming, Sliding Window | Hard | 28 | 0.4% |
| 181 | Sliding Window Median Array, Hash Table, Sliding Window, Heap (Priority Queue) | Hard | 28 | 0.4% |
| 182 | Range Sum Query 2D - Immutable Array, Design, Matrix, Prefix Sum | Medium | 28 | 0.6% |
| 183 | Remove Stones to Minimize the Total Array, Greedy, Heap (Priority Queue) | Medium | 28 | 0.7% |
| 184 | Minimum Replacements to Sort the Array Array, Math, Greedy | Hard | 28 | 0.5% |
| 185 | Partition Array Into Two Arrays to Minimize Sum Difference Array, Two Pointers, Binary Search, Dynamic Programming, Bit Manipulation, Sorting, Ordered Set, Bitmask | Hard | 28 | 0.2% |
| 186 | Minimum Edge Reversals So Every Node Is Reachable Dynamic Programming, Depth-First Search, Breadth-First Search, Graph Theory | Hard | 28 | 0.6% |
| 187 | Subarray Sum Equals K Array, Hash Table, Prefix Sum | Medium | 28 | 0.5% |
| 188 | Largest Rectangle in Histogram Array, Stack, Monotonic Stack | Hard | 28 | 0.5% |
How to read this list
The tabs at the top split the questions by how recently people said they were asked in interviews. "Last 30 Days" is the past month, "Last 3 Months" is the past quarter, and so on. "All Time" is every question on record for this company.
Frequency is a score from 0 to 100 for how often a question showed up in that time window. A higher number means it came up more often, so the list starts with the most common questions first. Acceptance is the share of submissions that pass on LeetCode. Click any question to open it on LeetCode.