| 467 |
Unique Substrings in Wraparound String |
Solution |
O(n) |
O(1) |
Medium |
DP |
|
| 463 |
Island Perimeter |
Solution |
O(m*n) |
O(1) |
Easy |
|
|
| 462 |
Minimum Moves to Equal Array Elements II |
Solution |
O(nlogn) |
O(1) |
Medium |
|
|
| 459 |
Repeated Substring Pattern |
Solution |
O(n) |
O(n) |
Easy |
KMP |
|
| 456 |
132 Pattern |
Solution |
O(n) |
O(n) |
Medium |
Stack |
|
| 455 |
Assign Cookies |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 454 |
4Sum II |
Solution |
O(n) |
O(n) |
Medium |
HashMap |
|
| 453 |
Minimum Moves to Equal Array Elements |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 447 |
Number of Boomerangs |
Solution |
O(n^2) |
O(n) |
Easy |
HashMap |
|
| 441 |
Arranging Coins |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 438 |
Find All Anagrams in a String |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 436 |
Find Right Interval |
Solution |
O(nlogn) |
O(n) |
Medium |
Binary Search |
|
| 435 |
Non-overlapping Intervals |
Solution |
O(nlogn) |
O(1) |
Medium |
Greedy |
|
| 434 |
Number of Segments in a String |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 420 |
Strong Password Checker |
Solution |
? |
? |
Hard |
|
|
| 419 |
Battleships in a Board |
Solution |
O(n^2) |
O(1) |
Medium |
DFS |
|
| 417 |
Pacific Atlantic Water Flow |
Solution |
O(mnMax(m,n)) |
O(m*n) |
Medium |
DFS |
|
| 415 |
Add Strings |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 414 |
Third Maximum Number |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 413 |
Arithmetic Slices |
Solution |
O(n) |
O(1) |
Medium |
DP |
|
| 412 |
Fizz Buzz |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 404 |
Sum of Left Leaves |
Solution |
O(n) |
O(h) |
Easy |
|
|
| 398 |
Random Pick Index |
Solution |
|
|
Medium |
Reservoir Sampling |
|
| 397 |
Integer Replacement |
Solution |
? |
? |
Easy |
BFS |
|
| 396 |
Rotate Function |
Solution |
O(n^2) could be optimized to O(n) |
O(1) |
Easy |
|
|
| 390 |
Elimination Game |
Solution |
O(logn) |
O(1) |
Medium |
|
|
| 389 |
Find the Difference |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 388 |
Longest Absolute File Path |
Solution |
O(n) |
O(d) |
Medium |
Stack |
|
| 387 |
First Unique Character in a String |
Solution |
O(n) |
O(n) |
Easy |
HashMap |
|
| 386 |
Lexicographical Numbers |
Solution |
O(n) |
O(1) |
Medium |
|
|
| 379 |
Design Phone Directory |
Solution |
O(1) |
O(n) |
Medium |
|
|
| 374 |
Guess Number Higher or Lower |
Solution |
O(logn) |
O(1) |
Easy |
Binary Search |
|
| 370 |
Range Addition |
Solution |
O(n+k) |
O(1) |
Medium |
|
|
| 366 |
Find Leaves of Binary Tree |
Solution |
O(n) |
O(h) |
Medium |
DFS |
|
| 364 |
Nested List Weight Sum II |
Solution |
O(n) |
O(h) |
Medium |
DFS |
|
| 362 |
Design Hit Counter |
Solution |
O(1) amortized |
O(k) |
Medium |
Design |
|
| 359 |
Logger Rate Limiter |
Solution |
amortized O(1) |
O(k) |
Easy |
HashMap |
|
| 350 |
Intersection of Two Arrays II |
Solution |
O(m+n) |
O((m+n)) could be optimized |
Easy |
HashMap, Binary Search |
|
| 349 |
Intersection of Two Arrays |
Solution |
O(m+n) |
O(min(m,n)) |
Easy |
Two Pointers, Binary Search |
|
| 346 |
Moving Average from Data Stream |
Solution |
O(1) |
O(w)) |
Easy |
Queue |
|
| 339 |
Nested List Weight Sum |
Solution |
O(n) |
O(h)) |
Easy |
DFS |
|
| 338 |
Counting Bits |
Solution |
O(nlogn) |
O(h) |
Medium |
|
|
| 333 |
Largest BST Subtree |
Solution |
O(n) |
O(n) |
Medium |
|
|
| 325 |
Maximum Size Subarray Sum Equals k |
[Solution] |
O(n) |
O(n) |
Medium |
HashMap |
|
| 314 |
Binary Tree Vertical Order Traversal |
Solution |
O(n) |
O(n) |
Medium |
HashMap, BFS |
|
| 311 |
Sparse Matrix Multiplication |
Solution |
O(mnl) |
O(m*l) |
Medium |
|
|
| 301 |
Remove Invalid Parentheses |
[Solution] |
? |
? |
Hard |
BFS |
|
| 299 |
Bulls and Cows |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 295 |
Find Median from Data Stream |
Solution |
O(nlogn) |
O(n) |
Hard |
Heap |
|
| 293 |
Flip Game |
Solution |
? |
O(n) |
Easy |
|
|
| 292 |
Nim Game |
Solution |
O(1) |
O(1) |
Easy |
|
|
| 290 |
Word Pattern |
Solution |
O(n) |
O(n) |
Easy |
|
|
| 289 |
Game of Life |
Solution |
O(m*n) |
O(m*n), could be optimized to O(1) |
Medium |
|
|
| 288 |
Unique Word Abbreviation |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 285 |
Inorder Successor In BST |
Solution |
O(h) |
O(1) |
Medium |
|
|
| 283 |
Move Zeroes |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 280 |
Wiggle Sort |
Solution |
O(n) |
O(1) |
Medium |
|
|
| 278 |
First Bad Version |
Solution |
O(logn) |
O(1) |
Easy |
Binary Search |
|
| 276 |
Paint Fence |
Solution |
O(n) |
O(1) |
Easy |
DP |
|
| 273 |
Integer to English Words |
[Solution] |
|
|
|
|
|
| 270 |
Closest Binary Search Tree Value |
Solution |
O(h) |
O(1) |
Easy |
DFS |
|
| 266 |
Palindrome Permutation |
Solution |
O(n) |
O(1) |
Easy |
HashMap |
|
| 261 |
Graph Valid Tree |
Solution |
O(V+E) |
O(V+E) |
Medium |
|
|
| 259 |
3Sum Smaller |
Solution |
O(n^2) |
O(1) |
Medium |
|
|
| 257 |
Binary Tree Paths |
Solution |
O(n*h) |
O(h) |
DFS/Recursion |
|
|
| 252 |
Meeting Rooms |
Solution |
O(nlogn) |
O(1) |
|
|
|
| 251 |
Flatten 2D Vector |
Solution |
O(1) |
O(m*n) |
Medium |
|
|
| 250 |
Count Univalue Subtrees |
Solution |
O(n) |
O(h) |
Medium |
DFS |
|
| 249 |
Group Shifted Strings |
Solution |
O(nlogn) |
O(n) |
|
|
|
| 246 |
Strobogrammatic Number |
Solution |
O(n) |
O(1) |
|
|
|
| 243 |
Shortest Word Distance |
Solution |
O(n) |
O(1) |
|
|
|
| 226 |
Invert Binary Tree |
Solution |
O(n) |
O(h) |
Easy |
DFS, recursion |
|
| 223 |
Rectangle Area |
Solution |
O(1) |
O(1) |
Easy |
|
|
| 219 |
Contains Duplicate II |
Solution |
O(n) |
O(n) |
Easy |
HashMap |
|
| 209 |
Minimum Size Subarray Sum |
Solution |
O(n) |
O(1) |
Medium |
|
|
| 208 |
Implement Trie |
Solution |
O(n) |
O(1) |
Medium |
|
|
| 206 |
Reverse Linked List |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 205 |
Isomorphic Strings |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 200 |
Number of Islands |
Union Find DFS |
O(m*n) |
O(m*n) |
Medium |
Union Find, DFS |
|
| 189 |
Rotate Array |
Solution |
O(n) |
O(n), could be optimized to O(1) |
Easy |
|
|
| 182 |
Duplicate Emails |
Solution |
O(n^2) |
O(n) |
Easy |
|
|
| 173 |
Binary Search Tree Iterator |
Queue Stack |
O(1) |
O(h) |
Medium |
|
|
| 172 |
Factorial Trailing Zeroes |
Solution |
O(logn) |
O(1) |
Easy |
|
|
| 170 |
Two Sum III - Data structure design |
Solution |
O(n) |
O(n) |
Easy |
|
|
| 169 |
Majority Element |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 165 |
Compare Version Numbers |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 162 |
Find Peak Element |
Solution |
O(1) |
O(logn)/O(n) |
Binary Search |
|
|
| 161 |
One Edit Distance |
Solution |
O(n) |
O(1) |
|
|
|
| 160 |
Intersection of Two Linked Lists |
Solution |
O(m+n) |
O(1) |
Easy |
Linked List |
|
| 157 |
Read N Characters Given Read4 |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 155 |
Min Stack |
Solution |
O(1) |
O(n) |
Easy |
Stack |
|
| 151 |
Reverse Words in a String |
Solution |
O(n) |
O(n) |
Medium |
|
|
| 142 |
Linked List Cycle II |
Solution |
O(n) |
O(1) |
Medium |
Linked List |
|
| 141 |
Linked List Cycle |
Solution |
O(n) |
O(1) |
Easy |
Linked List |
|
| 140 |
Word Break II |
Solution |
? |
O(n^2) |
Hard |
Backtracking/DFS |
|
| 139 |
Word Break |
Solution |
O(n^2) |
O(n) |
Medium |
DP |
|
| 133 |
Clone Graph |
Solution |
O(n) |
O(n) |
Medium |
HashMap, BFS |
|
| 125 |
Valid Palindrome |
Solution |
O(n) |
O(1) |
Easy |
Two Pointers |
|
| 122 |
Best Time to Buy and Sell Stock II |
Solution |
O(n) |
O(1) |
Medium |
Greedy |
|
| 121 |
Best Time to Buy and Sell Stock |
Solution |
O(n) |
O(1) |
Easy |
DP |
|
| 120 |
Triangle |
Solution |
O(m*n) |
O(n) |
Medium |
DP |
|
| 119 |
Pascal's Triangle II |
Solution |
O(n^2) |
O(1) |
Easy |
|
|
| 118 |
Pascal's Triangle |
Solution |
O(n^2) |
O(1) |
Easy |
|
|
| 117 |
Populating Next Right Pointers in Each Node II |
Solution |
O(n) |
O(1) |
Hard |
BFS |
|
| 116 |
Populating Next Right Pointers in Each Node |
Solution |
O(n) |
O(1) |
Medium |
BFS |
|
| 112 |
Path Sum |
Solution |
O(n) |
O(1) |
Easy |
DFS |
|
| 111 |
Minimum Depth of Binary Tree |
Solution |
O(n) |
O(1)~O(h) |
Easy |
BFS, DFS |
|
| 91 |
Decode Ways |
Solution |
O(n) |
O(n) |
Medium |
DP |
|
| 98 |
Validate Binary Search Tree |
[Solution] |
O(n) |
O(1) |
Medium |
DFS/Recursion |
|
| 79 |
Word Search |
Solution |
O(mnl) ? |
O(m*n) |
Medium |
Backtracking/DFS |
|
| 78 |
Subsets |
Solution |
O(n^2) ? |
O(1) |
Medium |
Backtracking |
|
| 76 |
Minimum Window Substring |
Solution |
O(n) |
O(k) |
Hard |
Two Pointers |
|
| 75 |
Sort Colors |
Solution |
O(n) |
O(1) |
Medium |
Two Pointers |
|
| 73 |
Set Matrix Zeroes |
Solution |
O(mn) |
O(mn) |
Medium |
|
|
| 68 |
Text Justification |
Solution |
O(n) |
O(1) |
Hard |
|
|
| 67 |
Add Binary |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 58 |
Length of Last Word |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 56 |
Merge Intervals |
Solution |
O(n*logn) |
O(1) |
Hard |
|
|
| 47 |
Permutations II |
Solution |
O(n*n!) |
O(n) |
Medium |
Backtracking |
|
| 43 |
Multiply Strings |
[Solution] |
|
|
Medium |
|
|
| 39 |
Combination Sum |
Solution |
O(k*n^k) |
O(k) |
Medium |
Backtracking |
|
| 31 |
Next Permutation |
Solution |
O(n) |
O(1) |
Medium |
Array |
|
| 24 |
Swap Nodes in Pairs |
Solution |
O(n) |
O(1) |
Easy |
Recursion, LinkedList |
|
| 23 |
Merge k Sorted Lists |
Solution |
O(n*logk) |
O(logk) |
Hard |
Heap |
|
| 22 |
Generate Parentheses |
Solution |
TBD |
O(n) |
Medium |
Backtracking |
|
| 21 |
Merge Two Sorted Lists |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 20 |
Valid Parentheses |
Solution |
O(n) |
O(n) |
Easy |
Stack |
|
| 17 |
Letter Combinations of a Phone Number |
Solution |
O(n*4^n) |
O(n) |
Medium |
Backtracking |
|
| 15 |
3Sum |
Solution |
O(n^2) |
O(1) |
Medium |
Two Pointers |
|
| 14 |
Longest Common Prefix |
Solution |
O(n*min(wordLength in this array)) |
O(1) |
Easy |
|
|
| 13 |
Roman to Integer |
Solution |
O(1) |
O(1) |
Easy |
|
|
| 12 |
Integer to Roman |
Solution |
O(1) |
O(1) |
Medium |
|
|
| 10 |
Regular Expression Matching |
Solution |
O(m*n) |
O(m*n) |
Hard |
DP |
|
| 9 |
Palindrome Number |
Solution |
O(logn)/(n) |
O(1) |
Easy |
|
|
| 8 |
String to Integer (atoi) |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 7 |
Reverse Integer |
Solution |
O(1) |
O(1) |
Easy |
|
|
| 6 |
ZigZag Conversion |
Solution |
O(n) |
O(n) |
Easy |
|
|
| 3 |
Longest Substring Without Repeating Characters |
Solution |
O(n) |
O(1) |
Medium |
HashMap, Sliding Window |
|
| 2 |
Add Two Numbers |
Solution |
O(n) |
O(1) |
Medium |
LinkedList |
|
| 1 |
Two Sum |
Solution |
O(n)/O(n^2) |
O(1)/O(n) |
Easy |
HashMap |
|