This is a repo containing my practices of algorithmic problems drawn from LeetCode in Java.
- Summary: Summary of how to review algorithm problems
- LeetCode Problem List ✏️
- Non-LeetCode Problem List 💦
I have enabled searching by tag by adding meta to each source file. During search you may append tag- as prefix of the tag string. For example, to search on problems on arrays: you navigate to this repo url and enter following on search box: tag-array
Supported list of problem categories for searching,
- Array
- String
- Two Pointers
- Interval
- Sorting
- Linked List
- Hash
- Stack
- Queue
- Binary Search
- Binary Tree
- Binary Search Tree
- Divide and Conquer
- Advanced Tree
- Graph
- Backtracking
- Dynamic Programming
- Bit
- Math
- Data Structure Design
Note: $ means paid-to-view problems; * means SQL problems; # means bash problems
Problem 751 -
| No. | Problem | Difficulty | Tags | Videos |
|---|---|---|---|---|
| 775 | Global and Local Inversions | Medium | ||
| 774 | Minimize Max Distance to Gas Station $ | Hard | ||
| 773 | Sliding Puzzle | Hard | ||
| 772 | Basic Calculator III $ | Hard | ||
| 771 | Jewels and Stones | Easy | Hash, ArrayList, HashSet | |
| 770 | Basic Calculator IV | Hard | ||
| 769 | Max Chunks To Make Sorted | Medium | ||
| 768 | Max Chunks To Make Sorted II | Hard | ||
| 767 | Reorganize String | Medium | ||
| 766 | Toeplitz Matrix | Easy | ||
| 765 | Couples Holding Hands | Hard | ||
| 764 | Largest Plus Sign | Medium | ||
| 763 | Partition Labels | Medium | ||
| 762 | Prime Number of Set Bits in Binary Representation | Easy | ||
| 761 | Special Binary String | Hard | ||
| 760 | Find Anagram Mappings $ | Easy | ||
| 759 | Employee Free Time $ | Hard | ||
| 758 | Bold Words in String $ | Easy | ||
| 757 | Set Intersection Size At Least Two | Hard | ||
| 756 | Pyramid Transition Matrix | Medium | ||
| 755 | Pour Water $ | Medium | ||
| 754 | Reach a Number | Medium | ||
| 753 | Cracking the Safe | Hard | ||
| 752 | Open the Lock | Medium | ||
| 751 | IP to CIDR $ | Easy |
Problem 501 - 750
| No. | Problem | Difficulty | Tags | Videos |
|---|---|---|---|---|
| 750 | Number Of Corner Rectangles $ | Medium | ||
| 749 | Contain Virus | Hard | ||
| 748 | Shortest Completing Word | Medium | ||
| 747 | Largest Number At Least Twice of Others | Easy | ||
| 746 | Min Cost Climbing Stairs | Easy | ||
| 745 | Prefix and Suffix Search | Hard | ||
| 744 | Find Smallest Letter Greater Than Target | Easy | ||
| 743 | Network Delay Time | Medium | ||
| 742 | Closest Leaf in a Binary Tree $ | Medium | ||
| 741 | Cherry Pickup | Hard | ||
| 740 | Delete and Earn | Medium | ||
| 739 | Daily Temperatures | Medium | ||
| 738 | Monotone Increasing Digits | Medium | ||
| 737 | Sentence Similarity II $ | Medium | ||
| 736 | Parse Lisp Expression | Hard | ||
| 735 | Asteroid Collision | Medium | ||
| 734 | Sentence Similarity $ | Easy | ||
| 733 | Flood Fill | Easy | ||
| 732 | My Calendar III | Hard | ||
| 731 | My Calendar II | Medium | ||
| 730 | Count Different Palindromic Subsequences | Hard | ||
| 729 | My Calendar I | Medium | ||
| 728 | Self Dividing Numbers | Easy | ||
| 727 | Minimum Window Subsequence | Hard | ||
| 726 | Number of Atoms | Hard | ||
| 725 | Split Linked List in Parts | Medium | ||
| 724 | Find Pivot Index | Easy | ||
| 723 | Candy Crush $ | Medium | ||
| 722 | Remove Comments | Medium | ||
| 721 | Accounts Merge | Medium | ||
| 720 | Longest Word in Dictionary | Easy | ||
| 719 | Find K-th Smallest Pair Distance | Hard | ||
| 718 | Maximum Length of Repeated Subarray | Medium | ||
| 717 | 1-bit and 2-bit Characters | Easy | ||
| 716 | Max Stack $ | Hard | Stack, Data Structure | |
| 715 | Range Module | Hard | ||
| 714 | Best Time to Buy and Sell Stock with Transaction Fee | Medium | ||
| 713 | Subarray Product Less Than K | Medium | ||
| 712 | Minimum ASCII Delete Sum for Two Strings | Medium | ||
| 711 | Number of Distinct Islands II $ | Hard | ||
| 699 | Falling Squares | Hard | ||
| 698 | Partition to K Equal Sum Subsets | Medium | ||
| 697 | Degree of an Array | Easy | ||
| 696 | Count Binary Substrings | Easy | ||
| 695 | Max Area of Island | Easy | ||
| 694 | Number of Distinct Islands $ | Medium | ||
| 693 | Binary Number with Alternating Bits | Easy | ||
| 692 | Top K Frequent Words | Medium | ||
| 691 | Stickers to Spell Word | Hard | ||
| 690 | Employee Importance | Easy | ||
| 689 | Maximum Sum of 3 Non-Overlapping Subarrays | Hard | ||
| 688 | Knight Probability in Chessboard | Medium | ||
| 687 | Longest Univalue Path | Easy | ||
| 686 | Repeated String Match | Easy | ||
| 685 | Redundant Connection II | Hard | ||
| 684 | Redundant Connection | Medium | ||
| 683 | K Empty Slots | Hard | ||
| 682 | Baseball Game | Easy | ||
| 681 | Next Closest Time $ | Medium | ||
| 680 | Valid Palindrome II | Easy | ||
| 679 | 24 Game | Hard | ||
| 678 | Valid Parenthesis String | Medium | ||
| 677 | Map Sum Pairs | Medium | ||
| 676 | Implement Magic Dictionary | Medium | ||
| 675 | Cut Off Trees for Golf Event | Hard | ||
| 674 | Longest Continuous Increasing Subsequence | Easy | ||
| 673 | Number of Longest Increasing Subsequence | Medium | ||
| 672 | Bulb Switcher II | Medium | ||
| 671 | Second Minimum Node In a Binary Tree | Easy | ||
| 670 | Maximum Swap | Medium | ||
| 669 | Trim a Binary Search Tree | Easy | ||
| 668 | Kth Smallest Number in Multiplication Table | Hard | ||
| 667 | Beautiful Arrangement II | Medium | ||
| 666 | Path Sum IV $ | Medium | ||
| 665 | Non-decreasing Array | Easy | ||
| 664 | Strange Printer | Hard | ||
| 663 | Equal Tree Partition $ | Medium | ||
| 662 | Maximum Width of Binary Tree | Medium | ||
| 661 | Image Smoother | Easy | ||
| 660 | Remove 9 $ | Hard | ||
| 659 | Split Array into Consecutive Subsequences | Medium | ||
| 658 | Find K Closest Elements | Medium | ||
| 657 | Judge Route Circle | Easy | ||
| 656 | Coin Path $ | Hard | ||
| 655 | Print Binary Tree | Medium | ||
| 654 | Maximum Binary Tree | Medium | ||
| 653 | Two Sum IV - Input is a BST | Easy | ||
| 652 | Find Duplicate Subtrees | Medium | ||
| 651 | 4 Keys Keyboard $ | Medium | ||
| 650 | 2 Keys Keyboard | Medium | ||
| 649 | Dota2 Senate | Medium | ||
| 648 | Replace Words | Medium | ||
| 647 | Palindromic Substrings | Medium | ||
| 646 | Maximum Length of Pair Chain | Medium | ||
| 645 | Set Mismatch | Easy | ||
| 644 | Maximum Average Subarray II $ | Hard | ||
| 643 | Maximum Average Subarray I | Easy | ||
| 642 | Design Search Autocomplete System $ | Hard | ||
| 640 | Solve the Equation | Medium | ||
| 639 | Decode Ways II | Hard | ||
| 638 | Shopping Offers | Medium | ||
| 637 | Average of Levels in Binary Tree | Easy | ||
| 636 | Exclusive Time of Functions | Medium | ||
| 635 | Design Log Storage System $ | Medium | ||
| 634 | Find the Derangement of An Array $ | Medium | ||
| 633 | Sum of Square Numbers | Easy | ||
| 632 | Smallest Range | Hard | ||
| 631 | Design Excel Sum Formula $ | Hard | ||
| 630 | Course Schedule III | Medium | ||
| 629 | K Inverse Pairs Array | Hard | ||
| 628 | Maximum Product of Three Numbers | Easy | ||
| 625 | Minimum Factorization | Medium | ||
| 624 | Maximum Distance in Arrays $ | Easy | ||
| 623 | Add One Row to Tree | Medium | ||
| 621 | Task Scheduler | Medium | ||
| 617 | Merge Two Binary Trees | Easy | ||
| 616 | Add Bold Tag in String $ | Medium | ||
| 611 | Valid Triangle Number | Medium | ||
| 609 | Find Duplicate File in System | Medium | ||
| 606 | Construct String from Binary Tree | Easy | ||
| 605 | Can Place Flowers | Easy | ||
| 604 | Design Compressed String Iterator $ | Easy | ||
| 600 | Non-negative Integers without Consecutive Ones | Hard | ||
| 599 | Minimum Index Sum of Two Lists | Easy | ||
| 598 | Range Addition II | Easy | ||
| 594 | Longest Harmonious Subsequence | Easy | ||
| 593 | Valid Square | Medium | ||
| 592 | Fraction Addition and Subtraction | Medium | ||
| 591 | Tag Validator | Hard | ||
| 588 | Design In-Memory File System $ | Hard | ||
| 587 | Erect the Fence | Hard | ||
| 583 | Delete Operation for Two Strings | Medium | ||
| 582 | Kill Process $ | Medium | ||
| 581 | Shortest Unsorted Continuous Subarray | Easy | ||
| 576 | Out of Boundary Paths | Medium | ||
| 575 | Distribute Candies | Easy | ||
| 573 | Squirrel Simulation | Medium | ||
| 572 | Subtree of Another Tree | Easy | ||
| 568 | Maximum Vacation Days $ | Hard | ||
| 567 | Permutation in String | Medium | ||
| 566 | Reshape the Matrix | Easy | ||
| 565 | Array Nesting | Medium | ||
| 564 | Find the Closest Palindrome | Hard | ||
| 563 | Binary Tree Tilt | Easy | ||
| 562 | Longest Line of Consecutive One in Matrix $ | Medium | ||
| 561 | Array Partition I | Easy | ||
| 560 | Subarray Sum Equals K | Medium | ||
| 557 | Reverse Words in a String III | Easy | ||
| 556 | Next Greater Element III | Medium | ||
| 555 | Split Concatenated Strings $ | Medium | ||
| 554 | Brick Wall | Medium | ||
| 553 | Optimal Division | Medium | ||
| 552 | Student Attendance Record II | Hard | ||
| 551 | Student Attendance Record I | Easy | ||
| 549 | Binary Tree Longest Consecutive Sequence II $ | Medium | ||
| 548 | Split Array with Equal Sum $ | Medium | ||
| 547 | Friend Circles | Medium | ||
| 546 | Remove Boxes | Hard | ||
| 545 | Boundary of Binary Tree $ | Medium | ||
| 544 | Output Contest Matches $ | Medium | ||
| 543 | Diameter of Binary Tree | Easy | ||
| 542 | 01 Matrix | Medium | ||
| 541 | Reverse String II | Easy | ||
| 540 | Single Element in a Sorted Array | Medium | ||
| 539 | Minimum Time Difference | Medium | ||
| 538 | Convert BST to Greater Tree | Medium | ||
| 537 | Complex Number Multiplication | Medium | ||
| 536 | Construct Binary Tree from String $ | Medium | ||
| 535 | Encode and Decode TinyURL | Medium | ||
| 534 | Design TinyURL | Medium | ||
| 533 | Lonely Pixel II $ | Medium | ||
| 532 | K-diff Pairs in an Array | Easy | ||
| 531 | Lonely Pixel I $ | Medium | ||
| 530 | Minimum Absolute Difference in BST | Easy | ||
| 529 | Minesweeper | Medium | ||
| 527 | Word Abbreviation $ | Hard | ||
| 526 | Beautiful Arrangement | Medium | ||
| 525 | Contiguous Array | Medium | ||
| 524 | Longest Word in Dictionary through Deleting | Medium | ||
| 523 | Continuous Subarray Sum | Medium | ||
| 522 | Longest Uncommon Subsequence II | Medium | ||
| 521 | Longest Uncommon Subsequence I | Easy | ||
| 520 | Detect Capital | Easy | ||
| 518 | Coin Change 2 | Medium | ||
| 517 | Super Washing Machines | Hard | ||
| 516 | Longest Palindromic Subsequence | Medium | ||
| 515 | Find Largest Value in Each Tree Row | Medium | ||
| 514 | Freedom Trail | Hard | ||
| 513 | Find Bottom Left Tree Value | Medium | ||
| 508 | Most Frequent Subtree Sum | Medium | ||
| 507 | Perfect Number | Easy | ||
| 506 | Relative Ranks | Easy | ||
| 505 | The Maze II | Medium | ||
| 504 | Base 7 | Easy | ||
| 503 | Next Greater Element II | Medium | ||
| 502 | IPO | Hard | ||
| 501 | Find Mode in Binary Search Tree | Easy |
Problem 251 - 500
| No. | Problem | Difficulty | Tags | Videos |
|---|---|---|---|---|
| 500 | Keyboard Row | Easy | ||
| 499 | The Maze III | Hard | ||
| 498 | Diagonal Traverse | Medium | ||
| 496 | Next Greater Element I | Easy | ||
| 495 | Teemo Attacking | Medium | ||
| 494 | Target Sum | Medium | ||
| 493 | Reverse Pairs | Hard | ||
| 492 | Construct the Rectangle | Easy | ||
| 491 | Increasing Subsequences | Medium | ||
| 490 | The Maze | Medium | ||
| 488 | Zuma Game | Hard | ||
| 487 | Max Consecutive Ones II $ | Medium | ||
| 486 | Predict the Winner | Medium | ||
| 485 | Max Consecutive Ones | Easy | ||
| 484 | Find Permutation $ | Medium | ||
| 483 | Smallest Good Base | Hard | ||
| 482 | License Key Formatting | Medium | ||
| 481 | Magical String | Medium | ||
| 480 | Sliding Window Median | Hard | ||
| 479 | Largest Palindrome Product | Easy | ||
| 477 | Total Hamming Distance | Medium | ||
| 476 | Number Complement | Easy | ||
| 475 | Heaters | Easy | ||
| 474 | Ones and Zeroes | Medium | ||
| 473 | Matchsticks to Square | Medium | ||
| 472 | Concatenated Words | Hard | ||
| 471 | Encode String with Shortest Length $ | Hard | ||
| 469 | Convex Polygon $ | Medium | ||
| 468 | Validate IP Address | Medium | ||
| 467 | Unique Substrings in Wraparound String | Medium | ||
| 466 | Count The Repetitions | Hard | ||
| 465 | Optimal Account Balancing $ | Hard | ||
| 464 | Can I Win | Medium | ||
| 463 | Island Perimeter | Easy | ||
| 462 | Minimum Moves to Equal Array Elements II | Medium | ||
| 461 | Hamming Distance | Easy | ||
| 460 | LFU Cache | Hard | ||
| 459 | Repeated Substring Pattern | Easy | ||
| 458 | Poor Pigs | Easy | ||
| 457 | Circular Array Loop | Medium | ||
| 456 | 132 Pattern | Medium | ||
| 455 | Assign Cookies | Easy | ||
| 454 | 4Sum II | Medium | ||
| 453 | Minimum Moves to Equal Array Elements | Easy | ||
| 452 | Minimum Number of Arrows to Burst Balloons | Medium | ||
| 451 | Sort Characters By Frequency | Medium | ||
| 450 | Delete Node in a BST | Medium | ||
| 449 | Serialize and Deserialize BST | Medium | ||
| 448 | Find All Numbers Disappeared in an Array | Easy | ||
| 447 | Number of Boomerangs | Easy | ||
| 446 | Arithmetic Slices II - Subsequence | Hard | ||
| 445 | Add Two Numbers II | Medium | ||
| 444 | Sequence Reconstruction $ | Medium | ||
| 442 | Find All Duplicates in an Array | Medium | ||
| 441 | Arranging Coins | Easy | ||
| 440 | K-th Smallest in Lexicographical Order | Hard | ||
| 439 | Ternary Expression Parser $ | Medium | ||
| 438 | Find All Anagrams in a String | Easy | ||
| 437 | Path Sum III | Easy | ||
| 436 | Find Right Interval | Medium | ||
| 435 | Non-overlapping Intervals | Medium | ||
| 434 | Number of Segments in a String | Easy | ||
| 433 | Minimum Genetic Mutation | Medium | ||
| 432 | All O`one Data Structure | Hard | ||
| 425 | Word Squares | Hard | ||
| 423 | Reconstruct Original Digits from English | Medium | ||
| 422 | Valid Word Square $ | Easy | ||
| 421 | Maximum XOR of Two Numbers in an Array | Medium | ||
| 420 | Strong Password Checker | Hard | ||
| 419 | Battleships in a Board | Medium | ||
| 418 | Sentence Screen Fitting $ | Medium | ||
| 417 | Pacific Atlantic Water Flow | Medium | ||
| 416 | Partition Equal Subset Sum | Medium | ||
| 415 | Add Strings | Easy | ||
| 414 | Third Maximum Number | Easy | ||
| 413 | Arithmetic Slices | Medium | ||
| 412 | Fizz Buzz | Easy | ||
| 411 | Minimum Unique Word Abbreviation $ | Hard | ||
| 410 | Split Array Largest Sum | Hard | ||
| 409 | Longest Palindrome | Easy | ||
| 408 | Valid Word Abbreviation $ | Easy | ||
| 407 | Trapping Rain Water II | Hard | ||
| 406 | Queue Reconstruction by Height | Medium | ||
| 405 | Convert a Number to Hexadecimal | Easy | ||
| 404 | Sum of Left Leaves | Easy | ||
| 403 | Frog Jump | Hard | ||
| 402 | Remove K Digits | Medium | ||
| 401 | Binary Watch | Easy | ||
| 400 | Nth Digit | Easy | ||
| 399 | Evaluate Division | Medium | ||
| 398 | Random Pick Index | Medium | ||
| 397 | Integer Replacement | Easy | ||
| 396 | Rotate Function | Easy | ||
| 395 | Longest Substring with At Least K Repeating Characters | Medium | ||
| 394 | Decode String | Medium | ||
| 393 | UTF-8 Validation | Medium | ||
| 392 | Is Subsequence | Medium | ||
| 391 | Perfect Rectangle | Hard | ||
| 390 | Elimination Game | Medium | ||
| 389 | Find the Difference | Easy | ||
| 388 | Longest Absolute File Path | Medium | ||
| 387 | First Unique Character in a String | Easy | ||
| 386 | Lexicographical Numbers | Medium | ||
| 385 | Mini Parser | Medium | ||
| 384 | Shuffle an Array | Medium | ||
| 383 | Ransom Note | Easy | ||
| 382 | Linked List Random Node | Medium | ||
| 381 | Insert Delete GetRandom O(1) - Duplicates allowed | Hard | ||
| 380 | Insert Delete GetRandom O(1) | Medium | ||
| 379 | Design Phone Directory $ | Medium | ||
| 378 | Kth Smallest Element in a Sorted Matrix | Medium | ||
| 377 | Combination Sum IV | Medium | ||
| 376 | Wiggle Subsequence | Medium | ||
| 375 | Guess Number Higher or Lower II | Medium | ||
| 374 | Guess Number Higher or Lower | Easy | ||
| 373 | Find K Pairs with Smallest Sums, Solution 2, Solution 3, similar to Dijkstra | Medium | Heap | |
| 372 | Super Pow | Medium | ||
| 371 | Sum of Two Integers | Easy | ||
| 370 | Range Addition $ | Medium | ||
| 369 | Plus One Linked List $ | Medium | ||
| 368 | Largest Divisible Subset | Medium | ||
| 367 | Valid Perfect Square | Medium | ||
| 366 | Find Leaves of Binary Tree $ | Medium | ||
| 365 | Water and Jug Problem | Medium | ||
| 364 | Nested List Weight Sum II $ | Medium | ||
| 363 | Max Sum of Rectangle No Larger Than K | Hard | ||
| 362 | Design Hit Counter $ | Medium | ||
| 361 | Bomb Enemy $ | Medium | ||
| 360 | Sort Transformed Array $ | Medium | ||
| 359 | Logger Rate Limiter $ | Easy | ||
| 358 | Rearrange String k Distance Apart $ | Hard | ||
| 357 | Count Numbers with Unique Digits | Medium | ||
| 356 | Line Reflection $ | Medium | ||
| 355 | Design Twitter | Medium | ||
| 354 | Russian Doll Envelopes | Hard | ||
| 353 | Design Snake Game $ | Medium | ||
| 352 | Data Stream as Disjoint Intervals | Hard | ||
| 351 | Android Unlock Patterns $ | Medium | ||
| 350 | Intersection of Two Arrays II | Easy | ||
| 349 | Intersection of Two Arrays | Easy | ||
| 348 | Design Tic-Tac-Toe $ | Medium | ||
| 346 | Moving Average from Data Stream $ | Easy | ||
| 345 | Reverse Vowels of a String | Easy | ||
| 344 | Reverse String | Easy | ||
| 343 | Integer Break | Medium | ||
| 342 | Power of Four | Easy | ||
| 341 | Flatten Nested List Iterator $ | Medium | ||
| 340 | Longest Substring with At Most K Distinct Characters $ | Hard | ||
| 339 | Nested List Weight Sum $ | Easy | ||
| 338 | Counting Bits | Medium | ||
| 337 | House Robber III | Medium | ||
| 336 | Palindrome Pairs | Hard | ||
| 335 | Self Crossing | Medium | ||
| 334 | Increasing Triplet Subsequence | Medium | ||
| 333 | Largest BST Subtree $ | Medium | ||
| 332 | Reconstruct Itinerary | Medium | ||
| 331 | Verify Preorder Serialization of a Binary Tree | Medium | ||
| 330 | Patching Array | Medium | ||
| 329 | Longest Increasing Path in a Matrix | Medium | ||
| 328 | Odd Even Linked List | Easy | ||
| 327 | Count of Range Sum | Hard | ||
| 326 | Power of Three | Easy | ||
| 325 | Maximum Size Subarray Sum Equals k $ | Easy | ||
| 324 | Wiggle Sort II | Medium | ||
| 323 | Number of Connected Components in an Undirected Graph $ | Medium | ||
| 322 | Coin Change | Medium | ||
| 321 | Create Maximum Number | Hard | ||
| 320 | Generalized Abbreviation $ | Medium | ||
| 319 | Bulb Switcher | Medium | ||
| 318 | Maximum Product of Word Lengths | Medium | ||
| 317 | Shortest Distance from All Buildings $ | Hard | ||
| 316 | Remove Duplicate Letters | Medium | ||
| 315 | Count of Smaller Numbers After Self | Hard | ||
| 314 | Binary Tree Vertical Order Traversal $ | Medium | ||
| 313 | Super Ugly Number | Medium | ||
| 312 | Burst Balloons | Medium | ||
| 311 | Sparse Matrix Multiplication $ | Medium | ||
| 310 | Minimum Height Trees | Medium | ||
| 309 | Best Time to Buy and Sell Stock with Cooldown | Medium | ||
| 308 | Range Sum Query 2D - Mutable $ | Hard | ||
| 307 | Range Sum Query - Mutable | Medium | ||
| 306 | Additive Number | Medium | ||
| 305 | Number of Islands II $ | Hard | ||
| 304 | Range Sum Query 2D - Immutable | Medium | ||
| 303 | Range Sum Query - Immutable | Easy | ||
| 302 | Smallest Rectangle Enclosing Black Pixels $ | Hard | ||
| 301 | Remove Invalid Parentheses | Hard | ||
| 300 | Longest Increasing Subsequence | Medium | ||
| 299 | Bulls and Cows | Easy | ||
| 298 | Binary Tree Longest Consecutive Sequence $ | Medium | ||
| 297 | Serialize and Deserialize Binary Tree | Medium | ||
| 296 | Best Meeting Point $ | Hard | ||
| 295 | Find Median from Data Stream | Hard | ||
| 294 | Flip Game II $ | Medium | ||
| 293 | Flip Game $ | Easy | ||
| 292 | Nim Game | Easy | ||
| 291 | Word Pattern II $ | Hard | ||
| 290 | Word Pattern | Easy | ||
| 289 | Game of Life | Medium | ||
| 288 | Unique Word Abbreviation $ | Easy | ||
| 287 | Find the Duplicate Number | Hard | ||
| 286 | Walls and Gates $ | Medium | ||
| 285 | Inorder Successor in BST $ | Medium | ||
| 284 | Peeking Iterator | Medium | ||
| 283 | Move Zeroes | Easy | ||
| 282 | Expression Add Operators | Hard | ||
| 281 | Zigzag Iterator $ | Medium | ||
| 280 | Wiggle Sort $ | Medium | ||
| 279 | Perfect Squares | Medium | ||
| 278 | First Bad Version | Easy | ||
| 277 | Find the Celebrity $ | Medium | ||
| 276 | Paint Fence $ | Easy | ||
| 275 | H-Index II | Medium | ||
| 274 | H-Index | Medium | ||
| 273 | Integer to English Words | Medium | ||
| 272 | Closest Binary Search Tree Value II $ | Hard | ||
| 270 | Closest Binary Search Tree Value $ | Easy | ||
| 269 | Alien Dictionary $ | Hard | ||
| 268 | Missing Number | Medium | ||
| 267 | Palindrome Permutation II $ | Medium | ||
| 266 | Palindrome Permutation $ | Easy | ||
| 265 | Paint House II $ | Hard | ||
| 264 | Ugly Number II | Medium | ||
| 263 | Ugly Number | Easy | ||
| 262 | Trips and Users *(SQL) | Hard | ||
| 261 | Graph Valid Tree $ | Medium | ||
| 260 | Single Number III | Medium | Bit | 讲解 |
| 259 | 3Sum Smaller $ | Medium | ||
| 258 | Add Digits | Easy | ||
| 257 | Binary Tree Paths | Easy | ||
| 256 | Paint House $ | Medium | ||
| 255 | Verify Preorder Sequence in Binary Search Tree $ | Medium | ||
| 254 | Factor Combinations $ | Medium | ||
| 253 | Meeting Rooms II $ | Medium | ||
| 252 | Meeting Rooms $ | Easy | ||
| 251 | Flatten 2D Vector $ | Medium |
Problem 1 - 250
| No. | Problem | Difficulty | Tags | Videos |
|---|---|---|---|---|
| 250 | Count Univalue Subtrees $ | Medium | ||
| 249 | Group Shifted Strings $ | Easy | ||
| 248 | Strobogrammatic Number III $ | Hard | ||
| 247 | Strobogrammatic Number II $ | Medium | ||
| 246 | Strobogrammatic Number $ | Easy | ||
| 245 | Shortest Word Distance III $ | Medium | ||
| 244 | Shortest Word Distance II $ | Medium | ||
| 243 | Shortest Word Distance $ | Easy | ||
| 241 | Different Ways to Add Parentheses | Medium | ||
| 240 | Search a 2D Matrix II | Medium | ||
| 239 | Sliding Window Maximum | Hard | ||
| 237 | Delete Node in a Linked List | Easy | ||
| 236 | Lowest Common Ancestor of a Binary Tree | Medium | ||
| 235 | Lowest Common Ancestor of a Binary Search Tree | Medium | ||
| 234 | Palindrome Linked List | Easy | ||
| 233 | Number of Digit One | Medium | ||
| 232 | Implement Queue using Stacks | Easy | ||
| 231 | Power of Two | Easy | ||
| 230 | Kth Smallest Element in a BST | Medium | ||
| 229 | Majority Element II 形式 2 | Medium | ||
| 228 | Summary Ranges | Easy | ||
| 227 | Basic Calculator II | Medium | ||
| 226 | Invert Binary Tree | Easy | ||
| 225 | Implement Stack using Queues | Medium | ||
| 224 | Basic Calculator | Medium | ||
| 223 | Rectangle Area | Easy | ||
| 222 | Count Complete Tree Nodes | Medium | ||
| 221 | Maximal Square | Medium | ||
| 220 | Contains Duplicate III | Medium | ||
| 219 | Contains Duplicate II | Easy | ||
| 218 | The Skyline Problem | Hard | ||
| 216 | Combination Sum III | Medium | ||
| 215 | Kth Largest Element in an Array | Medium | ||
| 214 | Shortest Palindrome | Hard | ||
| 213 | House Robber II | Medium | ||
| 212 | Word Search II | Hard | ||
| 211 | Add and Search Word - Data structure design | Medium | ||
| 210 | Course Schedule II | Medium | ||
| 209 | Minimum Size Subarray Sum | Medium | ||
| 208 | Implement Trie (Prefix Tree) | Medium | ||
| 207 | Course Schedule | Medium | ||
| 206 | Reverse Linked List | Easy | ||
| 205 | Isomorphic Strings | Easy | ||
| 204 | Count Primes | Easy | ||
| 203 | Remove Linked List Elements | Easy | ||
| 202 | Happy Number | Easy | ||
| 201 | Bitwise AND of Numbers Range | Medium | ||
| 200 | Number of Islands | Medium | ||
| 199 | Binary Tree Right Side View | Medium | ||
| 198 | House Robber | Easy | ||
| 197 | Rising Temperature *(SQL) | Easy | ||
| 196 | Delete Duplicate Emails *(SQL) | Easy | ||
| 195 | Tenth Line #(bash) | Easy | ||
| 194 | Transpose File #(bash) | Medium | ||
| 193 | Valid Phone Numbers #(bash) | Easy | ||
| 192 | Word Frequency #(bash) | Medium | ||
| 191 | Number of 1 Bits | Easy | ||
| 190 | Reverse Bits | Easy | ||
| 189 | Rotate Array | Easy | ||
| 188 | Best Time to Buy and Sell Stock IV | Hard | ||
| 187 | Repeated DNA Sequences | Medium | ||
| 186 | Reverse Words in a String II $ | Medium | 讲解 | |
| 185 | Department Top Three Salaries *(SQL) | Hard | ||
| 184 | Department Highest Salary *(SQL) | Medium | ||
| 183 | Customers Who Never Order *(SQL) | Easy | ||
| 182 | Duplicate Emails *(SQL) | Easy | ||
| 181 | Employees Earning More Than Their Managers *(SQL) | Easy | ||
| 180 | Consecutive Numbers *(SQL) | Medium | ||
| 179 | Largest Number | Medium | ||
| 178 | Rank Scores *(SQL) | Medium | ||
| 177 | Nth Highest Salary *(SQL) | Medium | ||
| 176 | Second Highest Salary *(SQL) | Easy | ||
| 175 | Combine Two Tables *(SQL) | Easy | ||
| 174 | Dungeon Game | Hard | ||
| 173 | Binary Search Tree Iterator | Medium | ||
| 172 | Factorial Trailing Zeroes | Easy | ||
| 171 | Excel Sheet Column Number | Easy | ||
| 170 | Two Sum III - Data structure design $ | Easy | ||
| 169 | Majority Element | Easy | ||
| 168 | Excel Sheet Column Title | Easy | ||
| 167 | Two Sum II - Input array is sorted $ | Medium | Video | |
| 166 | Fraction to Recurring Decimal | Medium | ||
| 165 | Compare Version Numbers | Easy | ||
| 164 | Maximum Gap | Hard | ||
| 163 | Missing Ranges $ | Medium | ||
| 162 | Find Peak Element | Medium | ||
| 161 | One Edit Distance $ | Medium | ||
| 160 | Intersection of Two Linked Lists | Easy | ||
| 159 | Longest Substring with At Most Two Distinct Characters $ | Hard | ||
| 158 | Read N Characters Given Read4 II - Call multiple times $ | Hard | ||
| 157 | Read N Characters Given Read4 $ | Easy | ||
| 156 | Binary Tree Upside Down $ | Medium | ||
| 155 | Min Stack | Easy | ||
| 152 | Maximum Product Subarray | Medium | ||
| 151 | Reverse Words in a String | Medium | 讲解 | |
| 150 | Evaluate Reverse Polish Notation | Medium | ||
| 149 | Max Points on a Line | Hard | ||
| 148 | Sort List | Medium | ||
| 147 | Insertion Sort List | Medium | ||
| 146 | LRU Cache | Hard | ||
| 145 | Binary Tree Postorder Traversal | Hard | ||
| 144 | Binary Tree Preorder Traversal | Medium | ||
| 143 | Reorder List | Medium | ||
| 142 | Linked List Cycle II | Medium | ||
| 141 | Linked List Cycle | Medium | ||
| 140 | Word Break II | Hard | ||
| 139 | Word Break | Medium | ||
| 138 | Copy List with Random Pointer | Hard | ||
| 137 | Single Number II | Medium | Bit | 讲解 |
| 136 | Single Number | Medium | Bit, Hash | 讲解 |
| 135 | Candy | Hard | ||
| 134 | Gas Station | Medium | ||
| 133 | Clone Graph | Medium | ||
| 132 | Palindrome Partitioning II | Hard | ||
| 131 | Palindrome Partitioning | Medium | ||
| 130 | Surrounded Regions | Medium | ||
| 129 | Sum Root to Leaf Numbers | Medium | ||
| 127 | Word Ladder | Medium | ||
| 126 | Word Ladder II | Hard | ||
| 124 | Binary Tree Maximum Path Sum | Hard | ||
| 123 | Best Time to Buy and Sell Stock III | Hard | ||
| 122 | Best Time to Buy and Sell Stock II | Medium | ||
| 120 | Triangle | Medium | ||
| 119 | Pascal's Triangle II | Easy | ||
| 118 | Pascal's Triangle | Easy | ||
| 117 | Populating Next Right Pointers in Each Node II | Hard | ||
| 116 | Populating Next Right Pointers in Each Node | Medium | ||
| 115 | Distinct Subsequences | Hard | ||
| 114 | Flatten Binary Tree to Linked List | Medium | ||
| 113 | Path Sum II | Medium | ||
| 112 | Path Sum | Easy | ||
| 111 | Minimum Depth of Binary Tree | Easy | ||
| 110 | Balanced Binary Tree | Easy | ||
| 109 | Convert Sorted List to Binary Search Tree | Medium | ||
| 108 | Convert Sorted Array to Binary Search Tree | Medium | ||
| 107 | Binary Tree Level Order Traversal II | Easy | ||
| 106 | Construct Binary Tree from Inorder and Postorder Traversal | Medium | ||
| 105 | Construct Binary Tree from Preorder and Inorder Traversal | Medium | ||
| 104 | Maximum Depth of Binary Tree | Easy | ||
| 103 | Binary Tree Zigzag Level Order Traversal | Medium | ||
| 102 | Binary Tree Level Order Traversal | Easy | ||
| 101 | Symmetric Tree | Easy | ||
| 100 | Same Tree | Easy | ||
| 99 | Recover Binary Search Tree | Hard | ||
| 98 | Validate Binary Search Tree | Medium | ||
| 97 | Interleaving String | Hard | ||
| 96 | Unique Binary Search Trees | Medium | ||
| 95 | Unique Binary Search Trees II | Medium | ||
| 94 | Binary Tree Inorder Traversal | Medium | ||
| 93 | Restore IP Addresses | Medium | ||
| 92 | Reverse Linked List II | Medium | ||
| 91 | Decode Ways | Medium | ||
| 90 | Subsets II | Medium | ||
| 89 | Gray Code | Medium | ||
| 88 | Merge Sorted Array | Easy | Array | 讲解 |
| 87 | Scramble String | Hard | ||
| 86 | Partition List | Medium | ||
| 85 | Maximal Rectangle | Hard | ||
| 84 | Largest Rectangle in Histogram | Hard | ||
| 83 | Remove Duplicates from Sorted List | Easy | ||
| 82 | Remove Duplicates from Sorted List II | Medium | ||
| 81 | Search in Rotated Sorted Array II | Medium | ||
| 80 | Remove Duplicates from Sorted Array II | Medium | ||
| 79 | Word Search | Medium | ||
| 78 | Subsets | Medium | ||
| 77 | Combinations | Medium | ||
| 75 | Sort Colors | Medium | ||
| 74 | Search a 2D Matrix | Medium | ||
| 73 | Set Matrix Zeroes | Medium | ||
| 72 | Edit Distance | Hard | ||
| 71 | Simplify Path | Medium | ||
| 70 | Climbing Stairs | Easy | ||
| 69 | Sqrt(x) | Medium | ||
| 68 | Text Justification | Hard | ||
| 67 | Add Binary | Easy | ||
| 66 | Plus One | Easy | ||
| 65 | Valid Number | Hard | ||
| 64 | Minimum Path Sum | Medium | ||
| 63 | Unique Paths II | Medium | ||
| 62 | Unique Paths | Medium | ||
| 61 | Rotate List | Medium | ||
| 60 | Permutation Sequence | Medium | ||
| 59 | Spiral Matrix II | Medium | ||
| 58 | Length of Last Word | Easy | ||
| 57 | Insert Interval | Hard | ||
| 56 | Merge Intervals | Hard | Sort | |
| 55 | Jump Game | Medium | ||
| 54 | Spiral Matrix | Medium | ||
| 53 | Maximum Subarray | Medium | ||
| 52 | N-Queens II | Hard | ||
| 51 | N-Queens | Hard | ||
| 50 | Pow(x, n) | Medium | ||
| 48 | Rotate Image | Medium | ||
| 47 | Permutations II | Hard | ||
| 46 | Permutations | Medium | ||
| 45 | Jump Game II | Hard | ||
| 44 | Wildcard Matching | Hard | ||
| 43 | Multiply Strings | Medium | ||
| 42 | Trapping Rain Water | Hard | ||
| 41 | First Missing Positive | Hard | ||
| 40 | Combination Sum II | Medium | ||
| 39 | Combination Sum | Medium | ||
| 38 | Count and Say | Easy | ||
| 37 | Sudoku Solver | Hard | ||
| 36 | Valid Sudoku | Easy | ||
| 35 | Search Insert Position | Medium | ||
| 34 | Search for a Range | Medium | ||
| 33 | Search in Rotated Sorted Array | Hard | ||
| 32 | Longest Valid Parentheses | Hard | ||
| 31 | Next Permutation | Medium | ||
| 30 | Substring with Concatenation of All Words | Hard | ||
| 29 | Divide Two Integers | Medium | ||
| 28 | Implement strStr() | Easy | ||
| 27 | Remove Element | Easy | ||
| 26 | Remove Duplicates from Sorted Array | Easy | ||
| 25 | Reverse Nodes in k-Group | Hard | ||
| 24 | Swap Nodes in Pairs | Medium | ||
| 23 | Merge k Sorted Lists | Hard | ||
| 22 | Generate Parentheses | Medium | ||
| 21 | Merge Two Sorted Lists | Easy | ||
| 20 | Valid Parentheses | Easy | ||
| 19 | Remove Nth Node From End of List | Easy | Linked List | |
| 18 | 4Sum | Medium | ||
| 17 | Letter Combinations of a Phone Number | Medium | ||
| 16 | 3Sum Closest | Medium | ||
| 14 | Longest Common Prefix | Easy | ||
| 13 | Roman to Integer | Easy | ||
| 12 | Integer to Roman | Medium | ||
| 10 | Regular Expression Matching | Hard | ||
| 9 | Palindrome Number | Easy | ||
| 8 | String to Integer | Easy | String, Math | |
| 7 | Reverse Integer | Easy | ||
| 6 | ZigZag Conversion | Easy | ||
| 5 | Longest Palindromic Substring | Medium | ||
| 4 | Median of Two Sorted Arrays | Hard | Sort, Merge Sort, Binary Search | 讲解 1 |
| 2 | Add Two Numbers | Medium |
| No. | Problem | Difficulty | Tags | Videos |
|---|---|---|---|---|
| S 716 | Max Stack | Medium | Stack, Data Structure | |
| S 136 | Single Number | Easy | Hash, Sort | 讲解 |
| 6 | Binary Search (Recursion Solution) | Easy | Binary Search | 讲解 |
| 5 | Binary Search | Easy | Binary Search | 讲解 |
| 4 | Insertion Sort | Easy | Sort, Two Pointers | 讲解 |
| 3 | Selection Sort | Easy | Sort, Two Pointers | 讲解 |
| 2 | Bubble Sort | Easy | Sort, Two Pointers | 讲解 |
| 1 | Longest Uniform Substring | Medium | String, Two Pointers | 讲解 |