| 594 |
Longest Harmonious Subsequence |
Solution |
O(n) |
O(n) |
Easy |
Array, HashMap |
|
| 583 |
Delete Operation for Two Strings |
Solution |
O(m*n) |
O(m*n) could be optimized to O(n) |
Medium |
DP |
|
| 582 |
Kill Process |
Solution |
O(n) |
O(h) |
Medium |
Stack |
|
| 581 |
Shortest Unsorted Continuous Subarray |
Solution |
O(n) |
O(1) |
Easy |
Array, Sort |
|
| 575 |
Distribute Candies |
Solution |
O(nlogn) |
O(1) |
Easy |
Array |
|
| 572 |
Subtree of Another Tree |
Solution |
O(m*n) |
O(1) |
Easy |
Tree |
|
| 567 |
Permutation in String |
Solution |
O(max(m,n)) |
O(1) |
Medium |
Sliding Windows, Two Pointers |
|
| 566 |
Reshape the Matrix |
Solution |
O(m*n) |
O(1) |
Easy |
|
|
| 563 |
Binary Tree Tilt |
Solution |
O(n) |
O(n) |
Easy |
Tree Recursion |
|
| 562 |
Longest Line of Consecutive One in Matrix |
Solution |
O(m*n) |
O(m*n) |
Medium |
Matrix DP |
|
| 561 |
Array Partition I |
Solution |
O(nlogn) |
O(1) |
Easy |
Array |
|
| 560 |
Subarray Sum Equals K |
Solution |
O(n) |
O(n) |
Medium |
Array, HashMap |
|
| 557 |
Reverse Words in a String III |
Solution |
O(n) |
O(n) |
Easy |
String |
|
| 556 |
Next Greater Element III |
Solution |
O(n) |
O(1) |
Medium |
String |
|
| 555 |
Split Concatenated Strings |
Solution |
O(n^2) |
O(n) |
Medium |
String |
|
| 554 |
Brick Wall |
Solution |
O(n) (n is total number of bricks in the wall) |
O(m) (m is width of the wall) |
Medium |
HashMap |
|
| 551 |
Student Attendance Record I |
Solution |
O(n) |
O(1) |
Easy |
String |
|
| 549 |
Binary Tree Longest Consecutive Sequence II |
Solution |
O(n) |
O(n) |
Medium |
Tree |
|
| 548 |
Split Array with Equal Sum |
Solution |
O(n^2) |
O(1) |
Medium |
Array |
|
| 547 |
Friend Circles |
Solution |
O(n^2) |
O(n) |
Medium |
Union Find |
|
| 545 |
Boundary of Binary Tree |
Solution |
O(n) |
O(n) |
Medium |
Recursion |
|
| 544 |
Output Contest Matches |
Solution |
O(n) |
O(n) |
Medium |
Recursion |
|
| 543 |
Diameter of Binary Tree |
Solution |
O(n) |
O(h) |
Easy |
Tree/DFS/Recursion |
|
| 542 |
01 Matrix |
Solution |
O(m*n) |
O(n) |
Medium |
BFS |
|
| 541 |
Reverse String II |
Solution |
O(n) |
O(1) |
Easy |
String |
|
| 540 |
Single Element in a Sorted Array |
Solution |
O(n) |
O(1) |
Medium |
|
|
| 539 |
Minimum Time Difference |
Solution |
O(n) |
O(1) |
Medium |
String |
|
| 538 |
Convert BST to Greater Tree |
Solution |
O(nlogn) |
O(n) |
Medium |
Tree |
|
| 537 |
Complex Number Multiplication |
Solution |
O(1) |
O(1) |
Medium |
Math, String |
|
| 536 |
Construct Binary Tree from String |
Solution |
O(n) |
O(h) |
Medium |
Recursion |
|
| 535 |
Encode and Decode TinyURL |
Solution |
O(1) |
O(n) |
Medium |
Design |
|
| 532 |
K-diff Pairs in an Array |
Solution |
O(n) |
O(n) |
Easy |
HashMap |
|
| 531 |
Lonely Pixel I |
Solution |
O(m*n) |
O(1) |
Medium |
|
|
| 530 |
Minimum Absolute Difference in BST |
Solution |
O(n) |
O(n) |
Easy |
DFS |
|
| 529 |
Minesweeper |
Solution |
O(m*n) |
O(k) |
Medium |
BFS |
|
| 526 |
Beautiful Arrangement |
Solution |
O(n) |
O(h) |
Medium |
Backtracking |
|
| 525 |
Contiguous Array |
Solution |
O(n) |
O(n) |
Medium |
HashMap |
|
| 524 |
Longest Word in Dictionary through Deleting |
Solution |
O(n) |
O(n) |
Medium |
Sort |
|
| 523 |
Continuous Subarray Sum |
Solution |
O(n^2) |
O(n) |
Medium |
|
|
| 522 |
Longest Uncommon Subsequence II |
Solution |
O(x*n^2) (x is average length of strings) |
O(1) |
Medium |
|
|
| 521 |
Longest Uncommon Subsequence I |
Solution |
O(max(x,y)) (x and y are length of strings) |
O(1) |
Easy |
|
|
| 520 |
Detect Capital |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 515 |
Find Largest Value in Each Tree Row |
Solution |
O(n) |
O(k) |
Medium |
BFS |
|
| 513 |
Find Bottom Left Tree Value |
Solution |
O(n) |
O(k) |
Medium |
BFS |
|
| 508 |
Most Frequent Subtree Sum |
Solution |
O(n) |
O(n) |
Medium |
DFS, Tree |
|
| 507 |
Perfect Number |
Solution |
O(sqrt(n)) |
O(1) |
Easy |
Math |
|
| 506 |
Relative Ranks |
Solution |
O(nlogn) |
O(n) |
Easy |
|
|
| 505 |
The Maze II |
Solution |
O(m*n) |
O(m*n) |
Medium |
BFS |
|
| 504 |
Base 7 |
Solution |
O(1) |
O(1) |
Easy |
|
|
| 503 |
Next Greater Element II |
Solution |
O(n) |
O(n) |
Medium |
Stack |
|
| 501 |
Find Mode in Binary Tree |
Solution |
O(n) |
O(k) |
Easy |
Binary Tree |
|
| 500 |
Keyboard Row |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 499 |
The Maze III |
Solution |
O(m*n) |
O(m*n) |
Hard |
BFS |
|
| 496 |
Next Greater Element I |
Solution |
O(n*m) |
O(1) |
Easy |
|
|
| 495 |
Teemo Attacking |
Solution |
O(n) |
O(1) |
Medium |
Array |
|
| 494 |
Target Sum |
Solution |
O(2^n) |
O(1) |
Medium |
|
|
| 492 |
Construct the Rectangle |
Solution |
O(n) |
O(1) |
Easy |
Array |
|
| 490 |
The Maze |
Solution |
O(m*n) |
O(m*n) |
Medium |
BFS |
|
| 487 |
Max Consecutive Ones II |
Solution |
O(n) |
O(n) |
Medium |
Array |
|
| 485 |
Max Consecutive Ones |
Solution |
O(n) |
O(1) |
Easy |
Array |
|
| 484 |
Find Permutation |
Solution |
O(n) |
O(1) |
Medium |
Array, String, Greedy |
|
| 482 |
License Key Formatting |
Solution |
O(n) |
O(n) |
Medium |
|
|
| 477 |
Total Hamming Distance |
Solution |
O(n) |
O(1) |
Medium |
Bit Manipulation |
|
| 476 |
Number Complement |
Solution |
O(n) |
O(1) |
Easy |
Bit Manipulation |
|
| 475 |
Heaters |
Solution |
max(O(nlogn), O(mlogn)) - m is the length of houses, n is the length of heaters |
O(1) |
Easy |
Array Binary Search |
|
| 474 |
Ones and Zeroes |
Solution |
O(n) |
O(m*n) |
Medium |
DP |
|
| 472 |
Concatenated Words |
Solution |
O(n^2) |
O(n) |
Hard |
Trie, DP, DFS |
|
| 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 |
|
|
| 461 |
Hamming Distance |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 459 |
Repeated Substring Pattern |
Solution |
O(n) |
O(n) |
Easy |
KMP |
|
| 458 |
Poor Pigs |
Solution |
O(1) |
O(1) |
Easy |
Math |
|
| 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 |
|
|
| 452 |
Minimum Number of Arrows to Burst Balloons |
Solution |
O(nlogn) |
O(1) |
Medium |
Array, Greedy |
|
| 451 |
Sort Characters By Frequency |
Solution |
O(nlogn) |
O(n) |
Medium |
HashMap |
|
| 449 |
Serialize and Deserialize BST |
Solution |
O(n) |
O(h) |
Medium |
BFS |
|
| 448 |
Find All Numbers Disappeared in an Array |
Solution |
O(n) |
O(1) |
Easy |
Array, HashMap |
|
| 447 |
Number of Boomerangs |
Solution |
O(n^2) |
O(n) |
Easy |
HashMap |
|
| 445 |
Add Two Numbers II |
Solution |
O(max(m,n) |
O(max(m,n)) |
Medium |
Stack, LinkedList |
|
| 442 |
Find All Duplicates in an Array |
Solution |
O(n) |
O(1) |
Medium |
Array |
|
| 441 |
Arranging Coins |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 439 |
Ternary Expression Parser |
Solution |
O(n) |
O(n) |
Medium |
Stack |
|
| 438 |
Find All Anagrams in a String |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 437 |
Path Sum III |
Solution |
O(n^2) |
O(n) |
Easy |
DFS, recursion |
|
| 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 |
|
|
| 424 |
Longest Repeating Character Replacement |
Solution |
O(n) |
O(1) |
Medium |
Sliding Window |
|
| 423 |
Reconstruct Original Digits from English |
Solution |
O(n) |
O(1) |
Medium |
Math |
|
| 422 |
Valid Word Square |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 421 |
Maximum XOR of Two Numbers in an Array |
Solution |
O(n) |
O(1) |
Medium |
Bit Manipulation, Trie |
|
| 420 |
Strong Password Checker |
Solution |
? |
? |
Hard |
|
|
| 419 |
Battleships in a Board |
Solution |
O(m*n) |
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 |
|
|
| 408 |
Valid Word Abbreviation |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 405 |
Convert a Number to Hexadecimal |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 404 |
Sum of Left Leaves |
Solution |
O(n) |
O(h) |
Easy |
|
|
| 401 |
Binary Watch |
Solution |
O(1) |
O(1) |
Easy |
|
|
| 400 |
Nth Digit |
Solution |
O(n) |
O(1) |
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 |
|
|
| 392 |
Is Subsequence |
Solution |
O(m*n) |
O(1) |
Medium |
Array, String |
|
| 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 |
|
|
| 385 |
Mini Parser |
Solution |
O(n) |
O(h) |
Medium |
Stack |
|
| 379 |
Design Phone Directory |
Solution |
O(1) |
O(n) |
Medium |
|
|
| 377 |
Combination Sum IV |
Solution |
O(?) |
O(?) |
Medium |
|
|
| 375 |
Guess Number Higher or Lower II |
Solution |
O(n^2) |
O(n^2) |
Medium |
DP |
|
| 374 |
Guess Number Higher or Lower |
Solution |
O(logn) |
O(1) |
Easy |
Binary Search |
|
| 373 |
Find K Pairs with Smallest Sums |
Solution |
O(?) |
O(?) |
Medium |
Heap |
|
| 372 |
Super Pow |
Solution |
O(n) |
O(1) |
Medium |
Math |
|
| 371 |
Sum of Two Integers |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 370 |
Range Addition |
Solution |
O(n+k) |
O(1) |
Medium |
|
|
| 369 |
Plus One Linked List |
Solution |
O(n) |
O(1) |
Medium |
Linked List |
|
| 367 |
Valid Perfect Square |
Solution |
O(n) |
O(1) |
Medium |
|
|
| 366 |
Find Leaves of Binary Tree |
Solution |
O(n) |
O(h) |
Medium |
DFS |
|
| 365 |
Water and Jug Problem |
Solution |
O(n) |
O(1) |
Medium |
Math |
|
| 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 |
|
| 361 |
Bomb Enemy |
Solution |
O(?) |
O(?) |
Medium |
|
|
| 360 |
Sort Transformed Array |
Solution |
O(n) |
O(1) |
Medium |
Two Pointers, Math |
|
| 359 |
Logger Rate Limiter |
Solution |
amortized O(1) |
O(k) |
Easy |
HashMap |
|
| 357 |
Count Numbers with Unique Digits |
Solution |
O(?) |
O(?) |
Medium |
|
|
| 355 |
Design Twitter |
Solution |
O(n) |
O(n) |
Medium |
Design, HashMap, Heap |
|
| 353 |
Design Snake Game |
Solution |
O(?) |
O(?) |
Medium |
|
|
| 351 |
Android Unlock Patterns |
Solution |
O(?) |
O(?) |
Medium |
|
|
| 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 |
|
| 348 |
Design Tic-Tac-Toe |
Solution |
O(1) |
O(n) |
Medium |
Design |
|
| 346 |
Moving Average from Data Stream |
Solution |
O(1) |
O(w)) |
Easy |
Queue |
|
| 344 |
Reverse String |
Solution |
O(n) |
O(1) |
Easy |
String |
|
| 343 |
Integer Break |
Solution |
O(1) |
O(1) |
Medium |
Math |
|
| 341 |
Flatten Nested List Iterator |
Solution |
O(n) |
O(n) |
Medium |
Stack |
|
| 339 |
Nested List Weight Sum |
Solution |
O(n) |
O(h)) |
Easy |
DFS |
|
| 338 |
Counting Bits |
Solution |
O(nlogn) |
O(h) |
Medium |
|
|
| 337 |
House Robber III |
Solution |
O(n) |
O(n) |
Medium |
DP |
|
| 336 |
Palindrome Pairs |
Solution |
O(n^2) |
O(n) |
Hard |
|
|
| 334 |
Increasing Triplet Subsequence |
Solution |
O(n^2) |
O(1) |
Medium |
|
|
| 333 |
Largest BST Subtree |
Solution |
O(n) |
O(n) |
Medium |
Tree |
|
| 329 |
Longest Increasing Path in a Matrix |
Solution |
O(?) |
O(?) |
Hard |
|
|
| 327 |
Count of Range Sum |
Solution |
O(?) |
O(?) |
Hard |
|
|
| 325 |
Maximum Size Subarray Sum Equals k |
[Solution] |
O(n) |
O(n) |
Medium |
HashMap |
|
| 323 |
Number of Connected Components in an Undirected Graph |
Solution |
O(?) |
O(?) |
Medium |
|
|
| 322 |
Coin Change |
Solution |
O(?) |
O(?) |
Medium |
|
|
| 321 |
Create Maximum Number |
Solution |
O(?) |
O(?) |
Hard |
|
|
| 320 |
Generalized Abbreviation |
Solution |
O(n*2^n) |
O(n) |
Medium |
Backtracking, Bit Manipulation |
|
| 317 |
Shortest Distance from All Buildings |
Solution |
O(?) |
O(?) |
Hard |
|
|
| 315 |
Count of Smaller Numbers After Self |
Solution |
O(?) |
O(?) |
Hard |
Tree |
|
| 314 |
Binary Tree Vertical Order Traversal |
Solution |
O(n) |
O(n) |
Medium |
HashMap, BFS |
|
| 313 |
Super Ugly Number |
Solution |
O(?) |
O(?) |
Medium |
|
|
| 312 |
Burst Balloons |
Solution |
O(?) |
O(?) |
Hard |
DP |
|
| 311 |
Sparse Matrix Multiplication |
Solution |
O(mnl) |
O(m*l) |
Medium |
|
|
| 310 |
Minimum Height Trees |
Solution |
? |
? |
Medium |
|
|
| 309 |
Best Time to Buy and Sell Stock with Cooldown |
Solution |
O(n) |
O(1) |
Medium |
DP |
|
| 308 |
Range Sum Query 2D - Mutable |
Solution |
? |
? |
Hard |
Tree |
|
| 307 |
Range Sum Query - Mutable |
Solution |
? |
? |
Medium |
Tree |
|
| 306 |
Additive Number |
Solution |
? |
? |
Medium |
|
|
| 305 |
Number of Islands II |
Solution |
? |
? |
Hard |
Union Find |
|
| 304 |
Range Sum Query 2D - Immutable |
Solution |
? |
? |
Medium |
|
|
| 303 |
Range Sum Query - Immutable |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 302 |
Smallest Rectangle Enclosing Black Pixels |
Solution |
? |
O(m*n) |
Hard |
DFS, BFS |
|
| 301 |
Remove Invalid Parentheses |
Solution |
? |
? |
Hard |
BFS |
|
| 300 |
Longest Increasing Subsequence |
Solution |
O(logn) |
O(n) |
Medium |
DP |
|
| 299 |
Bulls and Cows |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 298 |
Binary Tree Longest Consecutive Sequence |
Solution |
O(n) |
O(n) |
Medium |
Tree |
|
| 297 |
Serialize and Deserialize Binary Tree |
Solution |
O(n) |
O(h) |
Hard |
BFS |
|
| 296 |
Best Meeting Point |
Solution |
? |
? |
Hard |
|
|
| 295 |
Find Median from Data Stream |
Solution |
O(nlogn) |
O(n) |
Hard |
Heap |
|
| 294 |
Flip Game II |
Solution |
? |
? |
Medium |
Backtracking |
|
| 293 |
Flip Game |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 292 |
Nim Game |
Solution |
O(1) |
O(1) |
Easy |
|
|
| 291 |
Word Pattern II |
Solution |
O(n) |
O(n) |
Hard |
|
|
| 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 |
|
|
| 287 |
Find the Duplicate Number |
Solution |
O(n) |
O(1) |
Medium |
|
|
| 286 |
Walls and Gates |
Solution |
O(m*n) |
O(g) |
Medium |
BFS |
|
| 285 |
Inorder Successor In BST |
Solution |
O(h) |
O(1) |
Medium |
Tree |
|
| 284 |
Peeking Iterator |
Solution |
O(n) |
O(n) |
Medium |
Design |
|
| 283 |
Move Zeroes |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 282 |
Expression Add Operators |
Solution |
O(?) |
O(?) |
Hard |
|
|
| 281 |
Zigzag Iterator |
Solution |
O(n) |
O(n) |
Medium |
|
|
| 280 |
Wiggle Sort |
Solution |
O(n) |
O(1) |
Medium |
|
|
| 279 |
Perfect Squares |
Solution |
O(n) |
O(1) |
Medium |
|
|
| 278 |
First Bad Version |
Solution |
O(logn) |
O(1) |
Easy |
Binary Search |
|
| 277 |
Find the Celebrity |
Solution |
O(n) |
O(1) |
Medium |
|
|
| 276 |
Paint Fence |
Solution |
O(n) |
O(1) |
Easy |
DP |
|
| 274 |
H-Index |
Solution |
O(nlogn) |
O(1) |
Medium |
|
|
| 273 |
Integer to English Words |
Solution |
O(n) |
O(1) |
Hard |
Math, String |
|
| 272 |
Closest Binary Search Tree Value II |
Solution |
O(h+k) |
O(h) |
Hard |
Stack |
|
| 271 |
Encode and Decode Strings |
Solution |
O(n) |
O(1) |
Medium |
|
|
| 270 |
Closest Binary Search Tree Value |
Solution |
O(h) |
O(1) |
Easy |
DFS |
|
| 268 |
Missing Number |
Solution |
O(n) |
O(1) |
Easy |
Bit Manipulation |
|
| 267 |
Palindrome Permutation II |
Solution |
O(n*n!) |
O(n) |
Medium |
|
|
| 266 |
Palindrome Permutation |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 265 |
Paint House II |
Solution |
? |
? |
Hard |
|
|
| 263 |
Ugly Number |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 261 |
Graph Valid Tree |
Solution |
O(V+E) |
O(V+E) |
Medium |
|
|
| 259 |
3Sum Smaller |
Solution |
O(n^2) |
O(1) |
Medium |
|
|
| 258 |
Add Digits |
Solution |
O(1) |
O(1) |
Easy |
|
|
| 257 |
Binary Tree Paths |
Solution |
O(n*h) |
O(h) |
DFS/Recursion |
|
|
| 256 |
Paint House |
Solution |
O(n) |
O(1) |
Medium |
DP |
|
| 255 |
Verify Preorder Sequence in Binary Search Tree |
Solution |
O(n) |
O(h) |
Medium |
Tree |
|
| 254 |
Factor Combinations |
Solution |
O(nlogn) |
O(nlogn) |
Medium |
Backtracking |
|
| 253 |
Meeting Rooms II |
Solution |
O(nlogn) |
O(h) |
Medium |
Heap |
|
| 252 |
Meeting Rooms |
Solution |
O(nlogn) |
O(1) |
Easy |
|
|
| 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) |
|
|
|
| 248 |
Strobogrammatic Number III |
Solution |
O(?) |
O(?) |
Hard |
|
|
| 247 |
Strobogrammatic Number II |
Solution |
O(n^2) |
O(n) |
Medium |
Recursion |
|
| 246 |
Strobogrammatic Number |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 245 |
Shortest Word Distance III |
Solution |
O(n) |
O(1) |
Medium |
|
|
| 244 |
Shortest Word Distance II |
Solution |
O(n) |
O(n) |
Medium |
HashMap |
|
| 243 |
Shortest Word Distance |
Solution |
O(n) |
O(1) |
|
|
|
| 240 |
Search a 2D Matrix II |
Solution |
O(log(m*n)) |
O(1) |
Medium |
Binary Search |
|
| 239 |
Sliding Window Maximum |
Solution |
O(nlogn) |
O(k) |
Hard |
Heap |
|
| 238 |
Product of Array Except Self |
Solution |
O(n) |
O(1) |
Medium |
Array |
|
| 237 |
Delete Node in a Linked List |
Solution |
O(1) |
O(1) |
Easy |
LinkedList |
|
| 236 |
Lowest Common Ancestor of a Binary Tree |
Solution |
O(n) |
O(h) |
Medium |
DFS |
|
| 235 |
Lowest Common Ancestor of a Binary Search Tree |
Solution |
O(h) |
O(1) |
Easy |
DFS |
|
| 233 |
Number of Digit One |
Solution |
O(n) |
O(1) |
Hard |
Math |
|
| 232 |
Implement Queue using Stacks |
Solution |
O(n) |
O(n) |
Medium |
Stack, Design |
|
| 230 |
Kth Smallest Element in a BST |
Solution |
O(n) |
O(k) |
Medium |
Tree |
|
| 229 |
Majority Element II |
Solution |
O(n) |
O(n) |
Medium |
|
|
| 228 |
Summary Ranges |
Solution |
O(n) |
O(1) |
Medium |
Array |
|
| 226 |
Invert Binary Tree |
Solution |
O(n) |
O(h) |
Easy |
DFS, recursion |
|
| 225 |
Implement Stack using Queues |
Solution |
O(n) |
O(n) |
Easy |
Stack, Queue |
|
| 224 |
Basic Calculator |
Solution |
? |
? |
Hard |
|
|
| 223 |
Rectangle Area |
Solution |
O(1) |
O(1) |
Easy |
|
|
| 222 |
Count Complete Tree Nodes |
Solution |
O(?) |
O(h) |
Medium |
|
|
| 220 |
Contains Duplicate III |
Solution |
O(nlogn) |
O(n) |
Medium |
TreeSet |
|
| 219 |
Contains Duplicate II |
Solution |
O(n) |
O(n) |
Easy |
HashMap |
|
| 218 |
The Skyline Problem |
Solution |
O(n) |
O(n) |
Hard |
TreeMap, Design |
|
| 217 |
Contains Duplicate |
Solution |
O(n) |
O(n) |
Easy |
HashSet |
|
| 215 |
Kth Largest Element in an Array |
Solution |
O(nlogn) |
O(n) |
Medium |
Heap |
|
| 213 |
House Robber II |
Solution |
O(n) |
O(n) |
Medium |
DP |
|
| 212 |
Word Search II |
Solution |
O(mnl) |
O(l) |
Hard |
Trie |
|
| 211 |
Add and Search Word - Data structure design |
Solution |
O(n) |
O(h) |
Medium |
Trie |
|
| 210 |
Course Schedule II |
Solution |
O(?) |
O(?) |
Medium |
|
|
| 209 |
Minimum Size Subarray Sum |
Solution |
O(n) |
O(1) |
Medium |
|
|
| 208 |
Implement Trie |
Solution |
O(n) |
O(1) |
Medium |
Trie |
|
| 207 |
Course Schedule |
Solution |
O(?) |
O(?) |
Medium |
|
|
| 206 |
Reverse Linked List |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 205 |
Isomorphic Strings |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 204 |
Count Primes |
Solution |
O(sqrt(n)) |
O(n) |
Easy |
|
|
| 202 |
Happy Number |
Solution |
O(k) |
O(k) |
Easy |
|
|
| 201 |
Bitwise AND of Numbers Range |
Solution |
O(min(m,n)) |
O(1) |
Medium |
Bit Manipulation |
|
| 200 |
Number of Islands |
Union Find DFS |
O(m*n) |
O(m*n) |
Medium |
Union Find, DFS |
|
| 198 |
House Robber |
Solution |
O(n) |
O(n) |
Easy |
DP |
|
| 191 |
Number of 1 Bits |
Solution |
O(n) |
O(1) |
Easy |
Bit Manipulation |
|
| 190 |
Reverse Bits |
Solution |
O(n) |
O(1) |
Easy |
Bit Manipulation |
|
| 189 |
Rotate Array |
Solution |
O(n) |
O(n), could be optimized to O(1) |
Easy |
|
|
| 187 |
Repeated DNA Sequences |
Solution |
O(n) |
O(n) |
Medium |
|
|
| 186 |
Reverse Words in a String II |
Solution |
O(n) |
O(1) |
Medium |
|
|
| 179 |
Largest Number |
Queue Stack |
O(?) |
O(?) |
Medium |
|
|
| 174 |
Dungeon Game |
Queue Stack |
O(m*n) |
O(m*n) |
Hard |
DP |
|
| 173 |
Binary Search Tree Iterator |
Queue Stack |
O(1) |
O(h) |
Medium |
Stack, Design |
|
| 172 |
Factorial Trailing Zeroes |
Solution |
O(logn) |
O(1) |
Easy |
|
|
| 171 |
Excel Sheet Column Number |
Solution |
O(n) |
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 |
|
|
| 168 |
Excel Sheet Column Title |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 167 |
Two Sum II - Input array is sorted |
Solution |
O(logn) |
O(1) |
Easy |
|
|
| 165 |
Compare Version Numbers |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 164 |
Maximum Gap |
Solution |
O(n) |
O(n) |
Hard |
|
|
| 163 |
Missing Ranges |
Solution |
O(n) |
O(1) |
|
|
|
| 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 |
|
| 159 |
Longest Substring with At Most Two Distinct Characters |
Solution |
O(n) |
O(1) |
Hard |
String, Sliding Window |
|
| 158 |
Read N Characters Given Read4 II - Call multiple times |
Solution |
O(n) |
O(1) |
Hard |
|
|
| 157 |
Read N Characters Given Read4 |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 156 |
Binary Tree Upside Down |
Solution |
O(n) |
O(h) |
Medium |
Tree, Recursion |
|
| 155 |
Min Stack |
Solution |
O(1) |
O(n) |
Easy |
Stack |
|
| 153 |
Find Minimum in Rotated Sorted Array |
Solution |
O(logn) |
O(1) |
Medium |
Array, Binary Search |
|
| 152 |
Maximum Product Subarray |
Solution |
O(n) |
O(1) |
Medium |
Array |
|
| 151 |
Reverse Words in a String |
Solution |
O(n) |
O(n) |
Medium |
|
|
| 150 |
Evaluate Reverse Polish Notation |
Solution |
O(?) |
O(?) |
Medium |
|
|
| 149 |
Max Points on a Line |
Solution |
O(?) |
O(?) |
Hard |
|
|
| 147 |
Insertion Sort List |
Solution O(n^2) |
O(1) |
Medium |
Linked List |
|
|
| 146 |
LRU Cache |
Doubly Linked List |
Linked Hash Map |
O(?) |
O(?) |
Hard |
Linked List |
| 145 |
Binary Tree Postorder Traversal |
Solution |
O(n) |
O(h) |
Hard |
Binary Tree |
|
| 144 |
Binary Tree Preorder Traversal |
Solution |
O(n) |
O(h) |
Medium |
Binary Tree |
|
| 143 |
Reorder List |
Solution |
O(n) |
O(1) |
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 |
|
| 138 |
Copy List with Random Pointer |
Solution |
O(n) |
O(n) |
Medium |
LinkedList, HashMap |
|
| 137 |
Single Number II |
Solution |
O(n) |
O(n) |
Medium |
|
|
| 135 |
Candy |
Solution |
O(n) |
O(1) |
Hard |
Greedy |
|
| 133 |
Clone Graph |
Solution |
O(n) |
O(n) |
Medium |
HashMap, BFS, Graph |
|
| 132 |
Implement Queue using Stacks |
Solution |
O(n) |
O(n) |
Easy |
Stack, Queue |
|
| 130 |
Surrounded Regions |
Solution |
O(?) |
O(?) |
Medium |
|
|
| 129 |
Sum Root to Leaf Numbers |
Solution |
O(n) |
O(h) |
Medium |
DFS |
|
| 125 |
Valid Palindrome |
Solution |
O(n) |
O(1) |
Easy |
Two Pointers |
|
| 124 |
Binary Tree Maximum Path Sum |
Solution |
O(n) |
O(h) |
Hard |
Tree, DFS |
|
| 123 |
Best Time to Buy and Sell Stock III |
Solution |
O(?) |
O(?) |
Hard |
|
|
| 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) |
Medium |
BFS |
|
| 116 |
Populating Next Right Pointers in Each Node |
Solution |
O(n) |
O(1) |
Medium |
BFS |
|
| 115 |
Distinct Subsequences |
Solution |
O(m*n) |
O(m*n) |
Hard |
DP |
|
| 114 |
Flatten Binary Tree to Linked List |
Solution |
O(n) |
O(h) |
Medium |
Tree |
|
| 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 |
|
| 110 |
Balanced Binary Tree |
Solution |
O(n) |
O(1)~O(h) |
Easy |
DFS |
|
| 109 |
Convert Sorted List to Binary Search Tree |
Solution |
O(n) |
O(h) |
Medium |
DFS, Recursion |
|
| 108 |
Convert Sorted Array to Binary Search Tree |
Solution |
O(n) |
O(h) |
Medium |
Tree |
|
| 107 |
Binary Tree Level Order Traversal II |
Solution |
O(nlogn) |
O(h) |
Easy |
BFS |
|
| 106 |
Construct Binary Tree from Inorder and Postorder Traversal |
Solution |
O(n) |
O(n) |
Medium |
Recursion, Tree |
|
| 105 |
Construct Binary Tree from Preorder and Inorder Traversal |
Solution |
O(n) |
O(n) |
Medium |
Recursion, Tree |
|
| 104 |
Maximum Depth of Binary Tree |
Solution |
O(n) |
O(h) |
Easy |
DFS |
|
| 103 |
Binary Tree Zigzag Level Order Traversal |
Solution |
O(n) |
O(h) |
Medium |
BFS,DFS |
|
| 102 |
Binary Tree Level Order Traversal |
Solution |
O(n) |
O(h) |
Medium |
BFS |
|
| 101 |
Symmetric Tree |
Solution |
O(n) |
O(h) |
Easy |
DFS |
|
| 99 |
Recover Binary Search Tree |
Solution |
O(?) |
O(?) |
Hard |
|
|
| 98 |
Validate Binary Search Tree |
Solution |
O(n) |
O(h) |
Medium |
DFS/Recursion |
|
| 97 |
Interleaving String |
Solution |
O(?) |
O(?) |
Hard |
DP |
|
| 96 |
Unique Binary Search Trees |
Solution |
O(n^2) |
O(n) |
Medium |
Recursion, DP |
|
| 95 |
Unique Binary Search Trees II |
Solution |
O(?) |
O(?) |
Medium |
Recursion |
|
| 94 |
Binary Tree Inorder Traversal |
Solution |
O(n) |
O(h) |
Medium |
Binary Tree |
|
| 93 |
Restore IP Addresses |
Solution |
O(1) |
O(1) |
Medium |
Backtracking |
|
| 92 |
Reverse Linked List II |
Solution |
O(n) |
O(1) |
Medium |
|
|
| 91 |
Decode Ways |
Solution |
O(n) |
O(n) |
Medium |
DP |
|
| 89 |
Gray Code |
Solution |
O(n) |
O(1) |
Medium |
Bit Manipulation |
|
| 88 |
Merge Sorted Array |
Solution |
O(max(m,n)) |
O(1) |
Easy |
|
|
| 86 |
Partition List |
Solution |
O(?) |
O(?) |
Medium |
|
|
| 85 |
Maximal Rectangle |
Solution |
O(m*n) |
O(n) |
Hard |
DP |
|
| 83 |
Remove Duplicates from Sorted List |
Solution |
O(n) |
O(1) |
Medium |
Linked List |
|
| 82 |
Remove Duplicates from Sorted List II |
Solution |
O(n) |
O(1) |
Medium |
Linked List |
|
| 81 |
Search in Rotated Sorted Array II |
Solution |
O(logn) |
O(1) |
Medium |
Binary Search |
|
| 80 |
Remove Duplicates from Sorted Array II |
Solution |
O(n) |
O(n) |
Medium |
|
|
| 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 |
|
| 74 |
Search a 2D Matrix |
Solution |
O(logn) |
O(1) |
Medium |
Binary Search |
|
| 73 |
Set Matrix Zeroes |
Solution |
O(mn) |
O(mn) |
Medium |
|
|
| 72 |
Edit Distance |
Solution |
O(m*n) |
O(m+n) |
Hard |
|
|
| 71 |
Simplify Path |
Solution |
O(n) |
O(n) |
Medium |
Stack |
|
| 70 |
Climbing Stairs |
Solution |
O(n) |
O(n) |
Easy |
DP |
|
| 69 |
Sqrt(x) |
Solution |
O(logn) |
O(1) |
Easy |
|
|
| 68 |
Text Justification |
Solution |
O(n) |
O(1) |
Hard |
|
|
| 67 |
Add Binary |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 66 |
Plus One |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 65 |
Valid Number |
Solution |
O(n) |
O(1) |
Hard |
|
|
| 64 |
Minimum Path Sum |
Solution |
O(m*n) |
O(m*n) |
Medium |
DP |
|
| 63 |
Unique Paths II |
Solution |
O(m*n) |
O(m*n) |
Medium |
DP |
|
| 61 |
Rotate List |
Solution |
O(n) |
O(1) |
Medium |
Linked List |
|
| 60 |
Permutation Sequence |
Solution |
? |
? |
Medium |
|
|
| 59 |
Spiral Matrix II |
Solution |
O(n) |
O(n) |
Medium |
|
|
| 58 |
Length of Last Word |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 56 |
Merge Intervals |
Solution |
O(n*logn) |
O(1) |
Medium |
Array, Sort |
|
| 55 |
Jump Game |
Solution |
O(n) |
O(1) |
Medium |
Greedy |
|
| 54 |
Spiral Matrix |
Solution |
O(m*n) |
O(m*n) |
Medium |
Array |
|
| 53 |
Maximum Subarray |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 50 |
Pow(x, n) |
Solution |
O(logn) |
O(logn) |
Medium |
|
|
| 48 |
Rotate Image |
Solution |
O(n^2) |
O(1) |
Medium |
Array |
|
| 47 |
Permutations II |
Solution |
O(n*n!) |
O(n) |
Medium |
Backtracking |
|
| 46 |
Permutations |
Solution |
O(n*n!) |
O(n) |
Medium |
Backtracking |
|
| 45 |
Jump Game II |
Solution |
O(?) |
O(?) |
Hard |
|
|
| 42 |
Trapping Rain Water |
Solution |
O(n) |
O(1) |
Hard |
|
|
| 41 |
First Missing Positive |
Solution |
O(n) |
O(1) |
Hard |
|
|
| 40 |
Combination Sum II |
Solution |
O(k*n^k) |
O(k) |
Medium |
Backtracking |
|
| 39 |
Combination Sum |
Solution |
O(k*n^k) |
O(k) |
Medium |
Backtracking |
|
| 38 |
Count and Say |
Solution |
O(n*2^n) |
O(2^n) |
Easy |
Recursion, LinkedList |
|
| 37 |
Sudoku Solver |
Solution |
O((9!)^9) |
O(1) |
Hard |
|
|
| 36 |
Valid Sudoku |
Solution |
O(?) |
O(?) |
Medium |
|
|
| 35 |
Search Insert Position |
Solution |
O(n) |
O(1) |
Medium |
Array |
|
| 34 |
Search for a Range |
Solution |
O(logn) |
O(1) |
Medium |
Array, Binary Search |
|
| 33 |
Search in Rotated Sorted Array |
Solution |
O(logn) |
O(1) |
Medium |
Binary Search |
|
| 32 |
Longest Valid Parentheses |
Solution |
O(n) |
O(n) |
Hard |
Stack, DP |
|
| 31 |
Next Permutation |
Solution |
O(n) |
O(1) |
Medium |
Array |
|
| 30 |
Substring with Concatenation of All Words |
Solution |
O(n^2) |
O(n) |
Hard |
HashMap |
|
| 29 |
Divide Two Integers |
Solution |
O(?) |
O(?) |
Medium |
|
|
| 28 |
Implement strStr() |
Solution |
O(n) |
O(1) |
Easy |
String |
|
| 27 |
Remove Element |
Solution |
O(n) |
O(1) |
Easy |
|
|
| 26 |
Remove Duplicates from Sorted Array |
Solution |
O(n) |
O(1) |
Easy |
Array |
|
| 25 |
Reverse Nodes in k-Group |
Solution |
O(n) |
O(1) |
Hard |
Recursion, LinkedList |
|
| 24 |
Swap Nodes in Pairs |
Solution |
O(n) |
O(h) |
Medium |
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(h) |
Easy |
Recursion |
|
| 20 |
Valid Parentheses |
Solution |
O(n) |
O(n) |
Easy |
Stack |
|
| 19 |
Remove Nth Node From End of List |
Solution |
O(n) |
O(1) |
Medium |
Linked List |
|
| 18 |
4 Sum |
Solution |
O(n^2) |
O(1) |
Medium |
Two Pointers |
|
| 17 |
Letter Combinations of a Phone Number |
Solution |
O(n*4^n) |
O(n) |
Medium |
Backtracking |
|
| 16 |
3Sum Closest |
Solution |
O(nlogn) |
O(1) |
Medium |
Two Pointers |
|
| 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 |
|
|
| 11 |
Container With Most Water |
Solution |
O(n) |
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) |
Medium |
|
|
| 7 |
Reverse Integer |
Solution |
O(1) |
O(1) |
Easy |
|
|
| 6 |
ZigZag Conversion |
Solution |
O(n) |
O(n) |
Easy |
|
|
| 5 |
Longest Palindromic Substring |
Solution |
O(n^2) |
O(1) |
Medium |
|
|
| 4 |
Median of Two Sorted Arrays |
Solution |
? |
? |
Hard |
Divide and Conquer |
|
| 3 |
Longest Substring Without Repeating Characters |
Solution |
O(n) |
O(1) |
Medium |
HashMap, Sliding Window |
|
| 2 |
Add Two Numbers |
Solution |
O(max(m,n)) |
O(1) |
Medium |
LinkedList |
|
| 1 |
Two Sum |
Solution |
O(n)/O(n^2) |
O(1)/O(n) |
Easy |
HashMap |
|