No Title Solution Time Space Difficulty Tag Note
1 Two Sum Hash Table O(n) O(n) Easy
2 Add Two Numbers LinkedList O(n) O(1) Medium
3 Longest Substring Without Repeating Characters Hash Table; Two Pointer O(n) O(1) Medium Y
4 Median of Two Sorted Arrays Divide and Conquer O(log(m + n))   O(1)       Hard Y special to []
5 Longest Palindromic Substring String O(n^2) O(1) Medium
6 ZigZag Conversion String O(n) O(1) Medium pattern
7 Reverse Integer Math O(n) O(1) Easy use long for Overflow
8 String to Integer (atoi) String O(n) O(1) Medium long long
9 Palindrome Number Math | Math O(x) (O(1)) O(1) Easy compare half, overflow
10 Regular Expression Matching Recursion | DP O(e?) O(1) Hard Y DP
11 Container With Most Water Two Pointers O(n) O(1) Medium Y
12 Integer to Roman Solution O(n) O(1) Medium
13 Roman to Integer Solution O(n) O(1) Easy
14 Longest Common Prefix String O(n*k)   O(1) Easy  
15 3Sum Two Pointers O(n^2)   O(1) Medium Y  use set; or skip duplicates
16 3Sum Closest Two Pointers O(n^2)   O(1) Medium  
17 Letter Combinations of a Phone Number BFS | DFS O(4^n)   O(n) Medium Y  
18 4Sum Two Pointers O(n^3)   O(1) Medium  use set; or skip duplicates
19 Remove Nth Node From End of List Two Pointers O(n)   O(1) Medium Y delete head, tail cases 
20 Valid Parentheses Stack O(n)   O(n) Easy  
21 Merge Two Sorted Lists LinkedList O(n)   O(1) Easy  
22 Generate Parentheses DFS O(1) Medium Y  
23 Merge k Sorted Lists Heap O(n*k)   O(k) Hard Y  
24 Swap Nodes in Pairs LinkedList | Recursion O(n)  O(1) Medium  
25 Reverse Nodes in k-Group Recursion O(n)  O(1) Hard  
26 Remove Duplicates from Sorted Array Two Pointer O(n)  O(1) Easy  
27 Remove Element Two Pointer O(n)  O(1) Easy rare 
28 Implement strStr() Two Pointer O(n*k)  O(1) Easy check KMP?  
29 Divide Two Integers Bit Manipulation O(logn)  O(1) Medium Y  
30 Substring with Concatenation of All Words Hash Table O(n)  O(n) Hard  
31 Next Permutation Binary Search O(n)  O(1) Medium Y Binary Search  
32 Longest Valid Parentheses Stack O(n)  O(n) Hard  
33 Search in Rotated Sorted Array Binary Search O(logn)  O(1) Medium Y <= 
34 Search for a Range Binary Search O(logn)  O(1) Medium  
35 Search Insert Position Binary Search O(logn)  O(1) Easy
36 Valid Sudoku Hash Table O(9^2)  O(1) Medium
37 Sudoku Solver BackTracking O(O((9!)^9))  O(1) Hard
38 Count and Say Solution O(n)  O(1) Easy  
39 Combination Sum DFS O(2^n)  O(1) Medium  
40 Combination Sum II DFS O(2^n) O(1) Medium Y prev
41 First Missing Positive Array O(n)  O(1) Hard Y  
42 Trapping Rain Water Two Pointers O(n)  O(1) Hard  
43 Multiply Strings String O(m*n) O(1) Medium Y
44 Wildcard Matching Greedy O(n) O(1) Hard Y
45 Jump Game II Two Pointer O(n)  O(1) Hard Y  
46 Permutations DFS O(n*n!)  O(n) Medium  
47 Permutations II DFS |Hash Table O(n*n!) O(n) Medium Y
48 Rotate Image In Place O(n^2)  O(1) Medium  
49 Group Anagrams Hash Table O(m*n)  O(1) Medium  
50 Pow(x, n) Divide and Conquer O(logn) O(1) Medium Y
51 N-Queens BackTracking O(exp)  O(n) Hard Y  
52 N-Queens II Back Tracking O(exp) O(n) Hard
53 Maximum Subarray DP | Greedy O(n)  O(1) Easy Y  
54 Spiral Matrix In Place O(n^2)  O(1) Medium  
55 Jump Game Greedy O(n) O(1) Medium
56 Merge Intervals Sort O(nlogn)  O(1) Medium  
57 Insert Interval Array O(n) O(1) Hard Y
58 Length of Last Word String O(n)  O(1) Easy  
59 Spiral Matrix II In Place O(n^2)  O(1) Medium  
60 Permutation Sequence Recursive | Iterative O(n) O(1) Medium Y
61 Rotate List Two Pointers O(n)  O(1) Medium  
62 Unique Paths DP O(m*n) O(m*n) Medium can make space O(n)
63 Unique Paths II DP O(m*n)  O(m*n) Medium  
64 Minimum Path Sum DP O(m*n) O(m*n) Medium  
65 Valid Number String O(n) O(1) Hard Y
66 Plus One Math O(n)  O(1) Easy  
67 Add Binary Math O(n) O(1) Easy
68 Text Justification String O(n)  O(1) Hard Y  
69 Sqrt(x) Binary Search O(logn) O(1) Easy Y  
70 Climbing Stairs DP O(n) O(n); O(1) Easy Fib
71 Simplify Path Stack O(n) O(n) Medium Stringstream  
72 Edit Distance DP O(n) O(1) Hard Y
73 Set Matrix Zeroes Math O(n^2)  O(1) Medium  
74 Search a 2D Matrix Binary Search O(logn) O(1) Medium
75 Sort Colors Two Pointers O(n)  O(1) Medium Y  
76 Minimum Window Substring Two Pointers O(n) O(1) Hard Y  
77 Combinations Back Tracking O(n!)   O(n) Medium  
78 Subsets Back Tracking O(2^n)  O(1) Medium
79 Word Search DFS O(m*n)  O(1) Medium Y  
80 Remove Duplicates from Sorted Array II Two Pointers O(n) O(1) Medium  
81 Search in Rotated Sorted Array II Binary Search O(logn) O(1) Medium Y worst case O(n)  
82 Remove Duplicates from Sorted List II LinkedList O(n)   O(1) Medium Y  
83 Remove Duplicates from Sorted List LinkedList O(n)  O(1) Easy
84 Largest Rectangle in Histogram Stack O(n)  O(n) Hard Y  
85 Maximal Rectangle Stack O(m*n) O(n) Hard  
86 Partition List LinkedList O(n) O(1) Medium  
87 Scramble String Hash Table, DFS O(exp)   O(m*n) Hard Y  
88 Merge Sorted Array Two Pointers O(n)  O(1) Easy
89 Gray Code Math O(n)  O(1) Medium  
90 Subsets II DFS1 | DFS2 O(2^n) O(1) Medium Y sort first  
91 Decode Ways DP O(n) O(n) Medium Y reduce space 
92 Reverse Linked List II LinkedList O(n)   O(1) Medium  
93 Restore IP Addresses DFS O(2^n)   O(1) Medium
94 Binary Tree Inorder Traversal Stack O(n)  O(n) Medium Y  
95 Unique Binary Search Trees II DFS O(2^n) O(n) Medium Y  
96 Unique Binary Search Trees DP | Recursion O(n) O(n) Medium Y
97 Interleaving String DP O(n^2)   O(n^2) Hard  
98 Validate Binary Search Tree Inorder | Recursion O(n)   O(1) Medium Y
99 Recover Binary Search Tree Recursion O(n)  O(1) Hard  
100 Same Tree Recursion O(n) O(1) Easy  
101 Symmetric Tree Recusion O(n) O(1) Easy
102 Binary Tree Level Order Traversal BFS | DFS O(n) O(n) Medium Y  
103 Binary Tree Zigzag Level Order Traversal Stacks O(n) O(n) Medium
104 Maximum Depth of Binary Tree Recursion O(n)  O(1) Easy  
105 Construct Binary Tree from Preorder and Inorder Traversal Recursion O(n) O(1) Medium  
106 Construct Binary Tree from Inorder and Postorder Traversal Recusion O(n) O(n) Medium
107 Binary Tree Level Order Traversal II BFS | DFS O(n) O(n) Easy Y  
108 Convert Sorted Array to Binary Search Tree Divide and Conquer O(logn) O(1) Easy
109 Convert Sorted List to Binary Search Tree Divide and Conquer O(logn)  O(1) Medium Y  
110 Balanced Binary Tree Recursion O(n) O(h) Easy  
111 Minimum Depth of Binary Tree Recusion O(n) O(1) Easy  null?
112 Path Sum Recusion O(n) O(1) Easy Y  
113 Path Sum II Recusion O(n) O(1) Medium
114 Flatten Binary Tree to Linked List Recusion O(n)  O(1) Medium Y  
115 Distinct Subsequences DP O(m*n) O(m*n) Hard Y  
116 Populating Next Right Pointers in Each Node Recusion O(n) O(1) Medium  
117 Populating Next Right Pointers in Each Node II Recusion O(n) O(1) Medium Y  
118 Pascal's Triangle Math O(n^2) O(1) Easy
119 Pascal's Triangle II Math O(n^2)  O(1) Easy Y  
120 Triangle DP O(n)  O(n) Medium Y  
121 Best Time to Buy and Sell Stock Math O(n) O(1) Easy  
122 Best Time to Buy and Sell Stock II Greedy O(n) O(1) Easy  
123 Best Time to Buy and Sell Stock III DP | DP O(n) O(n) Hard Y  
124 Binary Tree Maximum Path Sum Recusion O(n) O(n) Hard Y
125 Valid Palindrome String O(n)  O(1) Easy  
126 Word Ladder II BFS O(exp) O(n) Hard Y  
127 Word Ladder BFS O(n) O(n) Medium Y  
128 Longest Consecutive Sequence Hash Table O(n) O(n) Hard Y  
129 Sum Root to Leaf Numbers DFS O(n) O(n) Medium
130 Surrounded Regions DFS O(m*n)  O(1) Medium Y  
131 Palindrome Partitioning DFS O(n^2) O(n) Medium  
132 Palindrome Partitioning II DP O(n^2) O(n^2)  
133 Clone Graph BFS, Hash Table O(n) O(n) Medium Y  
134 Gas Station Greedy O(n) O(n) Hard
135 Candy Greedy O(n) O(n) Hard
136 Single Number Bit Manipulation O(n)  O(1) Easy  
137 Single Number II Bit Manipulation O(n) O(1) Medium  
138 Copy List with Random Pointer Hash Table O(n) O(n) Medium  
139 Word Break DP O(n) O(n) Medium Y  
140 Word Break II DP O(2^n) O(n) Hard Y
141 Linked List Cycle Two Pointers O(n)  O(1) Easy  
142 Linked List Cycle II Two Pointers O(n) O(1) Medium  
143 Reorder List Two Pointers O(n) O(1) Medium  
144 Binary Tree Preorder Traversal Stack O(n) O(n) Medium  
145 Binary Tree Postorder Traversal Stack O(n) O(n) Hard Y
146 LRU Cache List, Hash Table O(1)  O(n) Hard Y  
147 Insertion Sort List Sort O(n^2) O(1) Medium  
148 Sort List Merge Sort O(nlogn) O(1) Medium  
149 Max Points on a Line Hash Table O(n^2) O(n) Hard Y gcd
150 Evaluate Reverse Polish Notation Stack O(n) O(n) Medium  
151 Reverse Words in a String String O(n) O(n) Medium
152 Maximum Product Subarray DP O(n)  O(1) Medium Y  
153 Find Minimum in Rotated Sorted Array Binary Search O(logn) O(1) Medium Y  
154 Find Minimum in Rotated Sorted Array II Binary Search O(n) O(1) Hard Y  
155 Min Stack Stack O(n) O(1) Easy  
156 Binary Tree Upside Down Iterative | Recursive O(n) O(1) Medium
157 Read N Characters Given Read4 String O(n)  O(1) Easy  
158 Read N Characters Given Read4 II - Call multiple times String O(n) O(1) Hard Y  
159 Longest Substring with At Most Two Distinct Characters Hash Table O(n) O(1) Hard  
160 Intersection of Two Linked Lists Two Pointers O(n) O(1) Easy  
161 One Edit Distance String O(n) O(1) Medium  
162 Find Peak Element Binary Search O(logn) O(1) Medium Y
163 Missing Ranges Array O(n)  O(1) Medium  
164 Maximum Gap Bucket Sort O(n) O(n) Hard Y  
165 Compare Version Numbers String O(n) O(1) Medium replace  
166 Fraction to Recurring Decimal Hash Table O(n) O(1) Medium  
167 Two Sum II - Input array is sorted Two Pointer O(n) O(1) Easy  
168 Excel Sheet Column Title Math O(logn) O(1) Easy
169 Majority Element Math O(n)  O(1) Easy  
170 Two Sum III - Data structure design Hash Table O(n) O(n) Easy  
171 Excel Sheet Column Number Math O(n) O(1) Easy  
172 Factorial Trailing Zeroes Math O(logn) O(1) Easy  
173 Binary Search Tree Iterator Stack O(n) O(n) Medium Y  
174 Dungeon Game DP O(m*n) O(m*n) Hard
179 Largest Number Sort O(nlogn)  O(1) Medium comparator  
186 Reverse Words in a String II String O(n) O(1) Medium  
187 Repeated DNA Sequences Hash Table O(n) O(n) Medium  
188 Best Time to Buy and Sell Stock IV DP O(n) O(n) Hard Y  
189 Rotate Array String O(n) O(1) Easy  
190 Reverse Bits Bit Manipulation O(1) O(1) Easy
191 Number of 1 Bits Bit Manipulation O(1)  O(1) Easy  
198 House Robber DP O(n) O(n) Easy  
199 Binary Tree Right Side View Recursion O(n) O(1) Medium  
200 Number of Islands DFS | BFS O(n) O(n) Medium Y visited  
201 Bitwise AND of Numbers Range Bit Manipulation O(1) O(1) Medium  
202 Happy Number Math O(n) O(1) Easy
203 Remove Linked List Elements Linked List O(n)  O(1) Easy  
204 Count Primes Math O(n) O(n) Easy Y  
205 Isomorphic Strings Hash Table O(n) O(n) Easy  
206 Reverse Linked List Linked List O(n) O(1) Easy  
207 Course Schedule Topological Sort O(n) O(n) Medium  
208 Implement Trie (Prefix Tree) Trie O(1) O(1) Medium Y
209 Minimum Size Subarray Sum Two Pointers O(n)  O(1) Medium  
210 Course Schedule II Topological Sort O(n) O(n) Medium Y  
211 Add and Search Word - Data structure design Trie + BT   O(n) O(n)   Medium    
212 Word Search II DFS O(n!) O(1) Hard Y
213 House Robber II DP O(n) O(n) Medium
214 Shortest Palindrome String O(n)  O(1) Hard  
215 Kth Largest Element in an Array Quick Select O(n) O(1) Medium Y  
216 Combination Sum III Recursion   O(n!) O(n)   Medium Y    
217 Contains Duplicate Hash Table O(n) O(n) Easy  
218 The Skyline Problem Heap   O(nlogn) O(n)   Hard Y    
219 Contains Duplicate II Hash Table O(n) O(n) Easy  
220 Contains Duplicate III Hash Table O(n) O(n) Medium
221 Maximal Square DP O(n^2)  O(n^2) Medium  
222 Count Complete Tree Nodes Recursion O(n) O(1) Medium Y  
223 Rectangle Area Math   O(1) O(1)   Medium    
224 Basic Calculator Stack O(n) O(1) Hard Y  
225 Implement Stack using Queues Queue   O(n) O(n)   Easy    
226 Invert Binary Tree Tree O(n) O(1) Easy  
227 Basic Calculator II Stack O(n) O(1) Medium
228 Summary Ranges Array O(n)  O(n) Medium  
229 Majority Element II Math O(n) O(1) Medium  
230 Kth Smallest Element in a BST Tree   O(n) O(1)   Medium    
231 Power of Two Bit Manipulation O(1) O(1) Easy  
232 Implement Queue using Stacks Stack   O(1) O(1)   Easy    
233 Number of Digit One Recursion O(n) O(1) Hard  
234 Palindrome Linked List Linked List O(n) O(1) Easy
235 Lowest Common Ancestor of a Binary Search Tree Tree O(n)  O(1) Easy  
236 Lowest Common Ancestor of a Binary Tree Tree O(n) O(1) Medium Y  
237 Delete Node in a Linked List Linked List   O(1) O(1)   Easy    
238 Product of Array Except Self DP O(n) O(n) Medium  
239 Sliding Window Maximum Queue   O(n) O(n)   Hard Y    
240 Search a 2D Matrix II Search O(n) O(1) Medium  
241 Different Ways to Add Parentheses Recursion O(n^2) O(1) Medium Y
242 Valid Anagram Hash Table O(n)  O(1) Medium  
243 Shortest Word Distance Two Pointers O(n) O(1) Medium  
244 Shortest Word Distance II Hash Table   O(n) O(n)   Medium    
245 Shortest Word Distance III Array O(n) O(1) Medium  
246 Strobogrammatic Number Hash Table   O(n) O(1)   Easy    
247 Strobogrammatic Number II Recursion O(n!) O(1) Medium Y  
248 Strobogrammatic Number III Recursion O(n!) O(1) Hard
249 Group Shifted Strings Hash Table O(n)  O(n) Medium  
250 Count Univalue Subtrees Recursion O(n) O(1) Medium  
251 Flatten 2D Vector Math   O(1) O(1)   Medium    
252 Meeting Rooms Sort O(nlogn) O(1) Easy  
253 Meeting Rooms II Greedy + Sort   O(nlogn) O(n)   Medium Y    
254 Factor Combinations BackTracking O(n!) O(1) Medium Y  
255 Verify Preorder Sequence in Binary Search Tree Stack O(n!) O(n) Medium
256 Paint House DP O(n)  O(n) Easy  
257 Binary Tree Paths BackTracking O(n) O(1) Easy  
258 Add Digits Math   O(1) O(1)   Easy    
259 3Sum Smaller Sort   O(nlogn) O(1)   Medium    
260 Single Number III Bit Manipulation O(n) O(1) Medium  
261 Graph Valid Tree DFS   O(n) O(n)   Medium Y   find cycle  
263 Ugly Number Math O(1) O(1) Easy  
264 Ugly Number II Math O(n) O(1) Medium
265 Paint House II DP O(n)  O(n) Hard  
266 Palindrome Permutation Hash Table O(n) O(n) Easy  
267 Palindrome Permutation II Back Tracking   O(n!) O(1)   Medium Y    
268 Missing Number Math   O(n) O(1)   Easy    
269 Alien Dictionary Topological Sort O(n) O(n) Hard Y  
270 Closest Binary Search Tree Value Tree O(n) O(n) Easy
271 Encode and Decode Strings String O(n)  O(1) Medium  
272 Closest Binary Search Tree Value II Tree O(n) O(1) Hard  
273 Integer to English Words String   O(n) O(1)   Hard    
274 H-Index Sort   O(nlogn) O(1)   Medium    
275 H-Index II Binary Search   O(logn) O(1)   Medium    
276 Paint Fence DP O(n) O(1) Easy  
277 Find the Celebrity Array O(n) O(1) Medium
278 First Bad Version Binary Search O(logn)  O(1) Easy Y  
279 Perfect Squares DP O(n) O(n) Medium  
280 Wiggle Sort Sort   O(n) O(1)   Medium    
281 Zigzag Iterator Array   O(1) O(1)   Medium    
282 Expression Add Operators Divide n Conquer   O(n!) O(1)   Hard    
283 Move Zeroes Two Pointers O(n) O(1) Easy  
284 Peeking Iterator Design1 |Design2 O(1) O(1) Medium
285 Inorder Successor in BST Tree O(n)  O(1) Easy Y  
286 Walls and Gates BFS O(n) O(n) Medium Y  
287 Find the Duplicate Number Binary Search   O(logn) O(1)   Medium    
288 Unique Word Abbreviation Hash Table   O(n) O(n)   Medium    
289 Game of Life DFS   O(n!) O(1)   Medium    
290 Word Pattern Hash Table O(n) O(n) Easy  
291 Word Pattern II BackTracking O(n!) O(n) Hard Y
292 Nim Game Math O(1)  O(1) Easy  
293 Flip Game String O(n) O(1) Easy  
294 Flip Game II BackTracking   O(n!) O(n)   Medium    
295 Find Median from Data Stream Heap   O(1) O(n)   Hard Y    
296 Best Meeting Point Sort   O(nlogn) O(1)   Hard    
297 Serialize and Deserialize Binary Tree BackTracking O(n) O(1) Hard Y n-ary 
298 Binary Tree Longest Consecutive Sequence BackTracking O(n) O(1) Medium
299 Bulls and Cows Hash Table O(n)  O(1) Medium  
300 Longest Increasing Subsequence DP O(n) O(n) Medium  
301 Remove Invalid Parentheses BFS   O(n) O(n)   Hard  Y  
302 Smallest Rectangle Enclosing Black Pixels Binary Search   O(logn) O(1)   Hard Y    
303 Range Sum Query - Immutable DP   O(n) O(n)   Easy    
304 Range Sum Query 2D - Immutable DP O(m*n) O(m*n) Medium  
305 Number of Islands II Union Find O(n) O(m*n) Hard Y
306 Additive Number BackTracking O(n!)  O(1) Medium  
307 Range Sum Query - Mutable BIT |Segment Tree O(n) O(n) Medium Y  
308 Range Sum Query 2D - Mutable BIT |Segment Tree   O(m*n) O(m*n)   Hard    
309 Best Time to Buy and Sell Stock with Cooldown DP   O(n) O(n)   Medium Y    
310 Minimum Height Trees Topological Sort   O(n) O(n)   Medium    
311 Sparse Matrix Multiplication Hash Table   O(m*n) O(m*n)   Medium Y    
312 Burst Balloons DP O(n^2) O(n^2) Hard  
313 Super Ugly Number Math O(n) O(m*n) Medium Y
314 Binary Tree Vertical Order Traversal BFS O(n)  O(n) Medium Y  
315 Count of Smaller Numbers After Self Binary Search O(nlogn) O(n) Hard  
316 Remove Duplicate Letters Greedy   O(n) O(1)   Hard    
317 Shortest Distance from All Buildings BFS   O(n) O(n)   Hard    
318 Maximum Product of Word Lengths Bit Manipulation O(m*n) O(n) Medium
319 Bulb Switcher Math O(1) O(1) Medium
320 Generalized Abbreviation BackTracking O(2^n) O(1) Medium Y
321 Create Maximum Number Greedy O(n!) O(1) Hard
322 Coin Change DP O(n) O(n) Medium
323 Number of Connected Components in an Undirected Graph Union Find O(n) O(n) Medium Y
324 Wiggle Sort II Sort O(nlog) O(n) Medium
325 Maximum Size Subarray Sum Equals k Hash Table O(n) O(n) Medium Y
326 Power of Three Math O(1) O(1) Easy Y
327 Count of Range Sum Hash Table O(n) O(n) Hard
328 Odd Even Linked List Linked List O(n) O(1) Medium
329 Longest Increasing Path in a Matrix DFS O(n!) O(n^2) Hard
330 Patching Array Greedy O(n) O(1) Hard
331 Verify Preorder Serialization of a Binary Tree Sort O(n) O(1) Medium
332 Reconstruct Itinerary DFS O(n!) O(n) Medium Y
333 Largest BST Subtree DFS O(n) O(1) Medium
334 Increasing Triplet Subsequence Array O(n) O(1) Medium
335 Self Crossing Math O(n) O(1) Hard
336 Palindrome Pairs Hash Table O(m*n) O(m) Hard
337 House Robber III DFS O(n) O(1) Medium
338 Counting Bits Bit Manipulation O(n) O(1) Medium
339 Nested List Weight Sum DFS O(2^n) O(1) Easy
340 Longest Substring with At Most K Distinct Characters Hash Table O(n) O(256) Hard
341 Flatten Nested List Iterator Stack O(n) O(n) Medium Y
342 Power of Four Math O(1) O(1) Easy
343 Integer Break Math O(1) O(1) Medium
344 Reverse String String O(n) O(1) Easy
345 Reverse Vowels of a String String O(n) O(1) Easy
346 Moving Average from Data Stream Queue O(1) O(n) Easy
347 Top K Frequent Elements Heap O(n) O(n) Medium
348 Design Tic-Tac-Toe Design O(1) O(n) Medium
349 Intersection of Two Arrays Hash Table O(n) O(n) Easy
350 Intersection of Two Arrays II Hash Table O(n) O(n) Easy
351 Android Unlock Patterns DFS O(n!) O(n) Medium
352 Data Stream as Disjoint Intervals Array O(n) O(n) Hard
353 Design Snake Game Queue O(n) O(n) Medium
354 Russian Doll Envelopes DP O(n) O(n) Hard
355 Design Twitter Hash Table + Heap O(m*n) O(n) Medium Y
356 Line Reflection Hash Table O(n) O(n) Medium
357 Count Numbers with Unique Digits Math O(n) O(1) Medium
358 Rearrange String k Distance Apart Greedy O(n!) O(n) Hard
359 Logger Rate Limiter Hash Table O(1) O(n) Easy Y
360 Sort Transformed Array Two Pointers O(n) O(1) Medium
361 Bomb Enemy DP O(m*n) O(m*n) Medium
362 Design Hit Counter Queue | Circular Array O(n) O(n) Medium Y
363 Max Sum of Rectangle No Larger Than K Hash Table O(col*col*row) O(row) Hard
364 Nested List Weight Sum II DFS O(2^n) O(1) Medium
365 Water and Jug Problem Math O(n) O(1) Medium gcd
366 Find Leaves of Binary Tree Tree O(n) O(1) Medium
367 Valid Perfect Square Binary Search O(logn) O(1) Easy
368 Largest Divisible Subset DP   O(ologn) O(n)   Medium    
369 Plus One Linked List Recursion O(n) O(n) Medium Y
370 Range Addition Array O(n) O(1) Medium
371 Sum of Two Integers Bit Manipulation O(1) O(1) Easy
372 Super Pow Math   O(m*n) O(1)   Medium    
373 Find K Pairs with Smallest Sums Heap O(m*n) O(m*n) Medium
374 Guess Number Higher or Lower Binary Search O(logn) O(1) Easy
375 Guess Number Higher or Lower II DP  O(n^3) O(n^2)  Medium    
376 Wiggle Subsequence Greedy O(n) O(1) Medium
377 Combination Sum IV DP O(n) O(n) Medium
378 Kth Smallest Element in a Sorted Matrix Heap O(n) O(n) Medium Y
379 Design Phone Directory Hash Table   O(n) O(n)   Medium    
380 Insert Delete GetRandom O(1) Hash Table O(1) O(n) Medium Y
381 Insert Delete GetRandom O(1) - Duplicates allowed Hash Table O(1) O(n) Hard
382 Linked List Random Node Math  O(n) O(1) Medium Y 蓄水池采样   
383 Ransom Note Hash Table O(n) O(n) Easy
384 Shuffle an Array Math O(n) O(1) Medium
385 Mini Parser Stack O(n) O(n) Medium Y
386 Lexicographical Numbers String   O(n) O(1)   Medium    
387 First Unique Character in a String Hash Table O(n) O(256) Easy
388 Longest Absolute File Path String O(n) O(n) Medium
389 Find the Difference Bit Manipulation  O(n) O(1) Easy    
390 Elimination Game Math O(n) O(1) Medium
391 Perfect Rectangle Math O(n) O(n) Hard
392 Is Subsequence Greedy O(n) O(n) Medium
393 UTF-8 Validation Bit Manipulation   O(n) O(1)   Medium    
394 Decode String Stack O(n) O(n) Medium Y
395 Longest Substring with At Least K Repeating Characters BackTracking O(2^n) O(1) Medium
396 Rotate Function Math  O(n) O(1) Medium    
397 Integer Replacement Backtracking O(2^n) O(1) Medium
398 Random Pick Index Math O(n) O(1) Medium
399 Evaluate Division DFS O(n!) O(1) Medium Y
400 Nth Digit Math   O(n) O(1)   Easy    
401 Binary Watch Bit Manipulation O(720) O(1) Easy
402 Remove K Digits Greedy O(n) O(n) Medium
403 Frog Jump DP  O(n) O(n) Hard    
404 Sum of Left Leaves Backtracking O(n) O(1) Easy  
405 Convert a Number to Hexadecimal Bit Manipulation O(n) O(1) Easy
406 Queue Reconstruction by Height Sort O(nlogn) O(1) Medium
407 Trapping Rain Water II BFS   O(n) O(n)   Hard    
408 Valid Word Abbreviation String O(n) O(1) Easy
409 Longest Palindrome Hash Table O(n) O(256) Easy
410 Split Array Largest Sum Binary Search  O(logn) O(1) Hard    
411 Minimum Unique Word Abbreviation Backtracking O(2^n) O(1) Hard  
412 Fizz Buzz Array O(n) O(1) Easy
413 Arithmetic Slices DP O(n) O(n) Medium
414 Third Maximum Number Array   O(n) O(1)   Easy    
415 Add Strings Math O(n) O(n) Easy
416 Partition Equal Subset Sum DP O(n) O(n) Medium
417 Pacific Atlantic Water Flow DFS O(2^n) O(m*n) Medium
418 Sentence Screen Fitting Hash Table  O(n) O(n) Medium    
419 Battleships in a Board Math O(m*n) O(1) Medium  
420 Strong Password Checker Hash Table O(n) O(1) Hard
421 Maximum XOR of Two Numbers in an Array Bit Manipulation + Trie O(n) O(n) Medium
422 Valid Word Square String   O(n*k) O(1)   Easy    
423 Reconstruct Original Digits from English Math O(n) O(n) Medium
424 Longest Repeating Character Replacement String O(n) O(n) Medium
425 Word Squares Backtracking + Trie O(n!) O(n) Hard Y
432 All O one Data Structure Hash Table  O(1) O(n) Hard Y    
434 Number of Segments in a String String O(n) O(1) Easy  
435 Non-overlapping Intervals Greedy O(nlogn) O(1) Medium
436 Find Right Interval Binary Search O(nlogn) O(n) Medium
437 Path Sum III Backtracking   O(n) O(1)   Easy    
438 Find All Anagrams in a String Hash Table O(n) O(26) Easy
439 Ternary Expression Parser Stack O(n) O(n) Medium
440 K-th Smallest in Lexicographical Order Tree O(logn*k) O(n) Hard
441 Arranging Coins Binary Search  O(logn) O(1) Easy Y    
442 Find All Duplicates in an Array Array O(n) O(1) Medium  
444 Sequence Reconstruction Hash Table O(m*n) O(n) Medium
445 Add Two Numbers II Stack O(n) O(n) Medium
446 Arithmetic Slices II - Subsequence DP   O(n) O(n)   Hard    
447 Number of Boomerangs Hash Table O(n^2) O(n) Easy
448 Find All Numbers Disappeared in an Array Array O(n) O(1) Easy
449 Serialize and Deserialize BST Tree   O(n) O(n)   Hard    
450 Delete Node in a BST Tree  O(n) O(1) Medium    
451 Sort Characters By Frequency Heap O(n) O(n) Medium  
452 Minimum Number of Arrows to Burst Balloons Sort O(nlogn) O(1) Medium
453 Minimum Moves to Equal Array Elements Array O(n) O(1) Easy
454 4Sum II Math   O(n^2) O(n)   Medium    
455 Assign Cookies Greedy O(nlogn) O(n) Easy
456 132 Pattern Array O(n^2) O(n) Medium
459 Repeated Substring Pattern String   O(n^2) O(1)   Easy    
460 LFU Cache Design   O(n) O(n)   Hard    
461 Hamming Distance Bit Manipulation  O(n) O(1) Easy    
462 Minimum Moves to Equal Array Elements II Sort O(nlogn) O(1) Medium  
463 Island Perimeter Math O(m*n) O(1) Easy
464 Can I Win BackTracking O(n!) O(n) Medium
465 Optimal Account Balancing BackTracking   O(n!) O(n)   Hard  
466 Count The Repetitions DP O(n) O(n) Hard
467 Unique Substrings in Wraparound String DP O(n) O(n) Medium
468 Validate IP Address String   O(n) O(1)   Medium    
469 Convex Polygon Math  O(n) O(1) Medium    
471 Encode String with Shortest Length DP O(n^2) O(1) Hard  
472 Concatenated Words DP O(m*n) O(n) Hard
473 Matchsticks to Square BackTracking O(n!) O(1) Medium
474 Ones and Zeroes DP   O(m*n) O(m*n)   Medium    
475 Heaters Binary Search O(nlogn) O(1) Easy
476 Number Complement Bit Manipulation O(n) O(1) Easy
477 Total Hamming Distance Bit Manipulation   O(n) O(1)   Medium    
480 Sliding Window Median Heap   O(1) O(n)   Hard Y multiset    
481 Magical String Math O(n) O(n) Medium  
482 License Key Formatting String O(n) O(1) Medium
483 Smallest Good Base Binary Search O(logn) O(1) Hard
484 Find Permutation Greedy   O(n) O(n)   Medium    
485 Max Consecutive Ones Array O(n) O(1) Easy
486 Predict the Winner Backtracking O(2^n) O(1) Medium
487 Max Consecutive Ones II Array   O(n) O(1)   Medium Y sliding window    
490 The Maze DFS | BFS   O(n) O(n)   Medium Y    
491 Increasing Subsequences Backtracking O(n!) O(1) Medium  
492 Construct the Rectangle Math O(n^0.5) O(1) Easy
494 Target Sum Backtracking O(2^n) O(1) Medium
495 Teemo Attacking Array   O(n) O(1)   Medium    
496 Next Greater Element I Hash Table O(n) O(n) Easy
498 Diagonal Traverse Solution O(m*n) O(1) Medium
499 The Maze III DFS   O(n!) O(m*n)   Hard    
500 Keyboard Row Hash Table   O(n) O(1)   Easy