| 2565 |
Subsequence With the Minimum Score |
[ Greedy + DP ] |
| 2564 |
Substring XOR Queries |
[ Hashmap ] |
| 2563 |
Count the Number of Fair Pairs |
[ TreeSet + 2-sum ] |
| 2562 |
Find the Array Concatenation Value |
[ Simulation ] |
| 2561 |
Rearranging Fruits |
[ Greedy ] |
| 2560 |
House Robber IV |
[ Bisect ] |
| 2559 |
Count Vowel Strings in Ranges |
[ Prefix-Sum ] |
| 2558 |
Take Gifts From the Richest Pile |
[ Simulation ] |
| 2556 |
Disconnect Path in a Binary Matrix by at Most One Flip |
[ DP ] |
| 2555 |
Maximize Win From Two Segments |
[ Sliding-window ] |
| 2554 |
Maximum Number of Integers to Choose From a Range I |
[ Simulation ] |
| 2553 |
Separate the Digits in an Array |
[ 1-Liner ] |
| 2552 |
Count Increasing Quadruplets |
[ Counting + BIT ] |
| 2551 |
Put Marbles in Bags |
[ Sorting ] |
| 2550 |
Count Collisions of Monkeys on a Polygon |
[ Quick Power ] |
| 2549 |
Count Distinct Numbers on Board |
[ Simulation | 1-Liner Math] |
| 2547 |
Minimum Cost to Split an Array |
[ 2D-DP ] |
| 2546 |
Apply Bitwise Operations to Make Strings Equal |
[ Solution ] |
| 2545 |
Sort the Students by Their Kth Score |
[ 1-Liner ] |
| 2544 |
Alternating Digit Sum |
[ Solution ] |
| 2543 |
Check if Point Is Reachable |
[ Number Theory ] |
| 2542 |
Maximum Subsequence Score |
[ Sorting + PriorityQueue ] |
| 2540 |
Minimum Common Value |
[ Solution ] |
| 2537 |
Count the Number of Good Subarrays |
[ Sliding-window ] |
| 2536 |
Increment Submatrices by One |
[ 2D Prefix Sum ] |
| 2535 |
Difference Between Element Sum and Digit Sum of an Array |
[ Solution ] |
|
Maximum Performance of a Team |
[ Sorting + Heap ] |
|
Balance a Binary Search Tree |
[ In-order Traversal + Divide-and-Conquer ] |
|
Design a Stack With Increment Operation |
[ Lazy Increment ] |
|
Lucky Numbers in a Matrix |
[ Solution ] |
|
Minimum Cost to Make at Least One Valid Path in a Grid |
[ SSSP ] |
|
Linked List in Binary Tree |
[ DFS ] |
|
Rank Teams by Votes |
[ Radix Sort ] |
|
How Many Numbers Are Smaller Than the Current Number |
[ Counting Sort ] |
|
Largest Multiple of Three |
[ Math ] |
|
Closest Divisors |
[ Enumeration ] |
|
Validate Binary Tree Nodes |
[ DFS ] |
|
Number of Days Between Two Dates |
[ Datetime ] |
|
Construct Target Array With Multiple Sums |
[ Backtracking ] |
|
Maximum Number of Events That Can Be Attended |
[ Greedy + Heap/BST ] |
|
Product of the Last K Numbers |
[ Compact Array ] |
|
Count Negative Numbers in a Sorted Matrix |
[ Young Tableau ] |
|
Path with Maximum Gold |
[ Backtracking ] |
|
Count Vowels Permutation |
[ Counting ] |
|
Longest Arithmetic Subsequence of Given Difference |
[ DP ] |
|
Play with Chips |
[ Math ] |
|
Minimum Moves to Reach Target with Rotations |
[ BFS ] |
|
Remove All Adjacent Duplicates in String II |
[ Stack ] |
|
Get Equal Substrings Within Budget |
[ Sliding Window ] |
|
Unique Number of Occurrences |
[ Solution ] |
|
Smallest String With Swaps |
[ Union-Find Set + Sorting ] |
|
Ugly Number III |
[ Bisection + Inclusion-Exclusion ] |
|
Minimum Absolute Difference |
[ Solution ] |
|
Sort Items by Groups Respecting Dependencies |
[ Topological Sort ] |
|
Critical Connections in a Network |
[ Find All Bridges via DFS ] |
|
K-Concatenation Maximum Sum |
[ DP + Prefix Sum ] |
|
Reverse Substrings Between Each Pair of Parentheses |
[ Stack ] |
|
Maximum Number of Balloons |
[ Solution ] |
|
Make Array Strictly Increasing |
[ DP ] |
|
Maximum Subarray Sum with One Deletion |
[ DP ] |
|
Day of the Week |
[ Solution ] |
|
Distance Between Bus Stops |
[ Solution ] |
|
Prime Arrangements |
[ Math ] |
|
Diet Plan Performance |
[ Sliding Window ] |
|
Can Make Palindrome from Substring |
[ Greedy ] |
|
Number of Valid Words for Each Puzzle |
[ Bit Manipulation ] |
|
Invalid Transactions |
[ Brute-force ] |
|
Compare Strings by Frequency of the Smallest Character |
[ Binary Search ] |
|
Remove Zero Sum Consecutive Nodes from Linked List |
[ Prefix Sum ] |
|
Dinner Plate Stacks |
[ Stack + TreeSet ] |
|
Find Words That Can Be Formed by Characters |
[ Solution ] |
|
Maximum Level Sum of a Binary Tree |
[ DFS ] |
|
As Far from Land as Possible |
[ BFS ] |
|
Last Substring in Lexicographical Order |
[ Suffix Array ] |
|
Online Majority Element In Subarray |
[ Randomization + Bisect ] |
|
Swap For Longest Repeated Character Substring |
[ Greedy ] |
|
Number of Dice Rolls With Target Sum |
[ Counting ] |
|
Day of the Year |
[ Math ] |
|
Longest Chunked Palindrome Decomposition |
[ DP ] |
|
Snapshot Array |
[ Binary Search ] |
|
Binary Tree Coloring Game |
[ Solution ] |
|
Decrease Elements To Make Array Zigzag |
[ Greedy ] |
|
Stone Game II |
[ Game Theory + DP ] |
|
Largest 1-Bordered Square |
[ Counting ] |
|
Alphabet Board Path |
[ Solution ] |
|
N-th Tribonacci Number |
[ Math ] |
|
Minimum Cost Tree From Leaf Values |
[ DP ] |
|
Shortest Path with Alternating Colors |
[ SSSP ] |
|
Number of Equivalent Domino Pairs |
[ Counting ] |
|
Maximum of Absolute Value Expression |
[ Math ] |
|
Smallest Sufficient Team |
[ DP ] |
|
Longest Well-Performing Interval |
[ BIT ] |
|
Lowest Common Ancestor of Deepest Leaves |
[ Tree-DP ] |
|
Relative Sort Array |
[ Sorting ] |
|
Parsing A Boolean Expression |
[ DFS ] |
|
Filling Bookcase Shelves |
[ DP ] |
|
Path In Zigzag Labelled Binary Tree |
[ Math ] |
|
Distribute Candies to People |
[ Solution ] |
|
Brace Expansion II |
[ Stack ] |
|
Find in Mountain Array |
[ Binary Search ] |
|
Car Pooling |
[ Sweep-line Algorithm ] |
|
Statistics from a Large Sample |
[ Solution ] |
|
Shortest Common Supersequence |
[ DP + Backtracking ] |
|
Shortest Path in Binary Matrix |
[ BFS ] |
|
Largest Values From Labels |
[ Greedy ] |
|
Duplicate Zeros |
[ In-place Solution ] |
|
Smallest Subsequence of Distinct Characters |
[ Greedy + Stack ] |
|
Letter Tile Possibilities |
[ Solution ] |
|
Occurrences After Bigram |
[ Solution ] |
| 1074 |
Number of Submatrices That Sum to Target |
[ Solution ] |
| 1073 |
Adding Two Negabinary Numbers |
[ Solution ] |
| 1072 |
Flip Columns For Maximum Number of Equal Rows |
[ Bitmask ] |
| 1071 |
Greatest Common Divisor of Strings |
[ Solution ] |
| 1066 |
Campus Bikes II |
[ Optimal Bipartite Graph Matching ] |
| 1065 |
Index Pairs of a String |
[ Trie ] |
| 1064 |
Fixed Point |
[ Solution ] |
| 1054 |
Distant Barcodes |
[ Distant Barcodes ] |
| 1053 |
Previous Permutation With One Swap |
[ Math ] |
| 1052 |
Grumpy Bookstore Owner |
[ Sliding Window ] |
| 1051 |
Height Checker |
[ Sorting ] |
| 1049 |
Last Stone Weight II |
[ DP ] |
| 1048 |
Longest String Chain |
[ DP ] |
| 1047 |
Remove All Adjacent Duplicates In String |
[ Brute-force ] |
| 1046 |
Last Stone Weight |
[ Heap ] |
| 1044 |
Longest Duplicate Substring |
[ Bisection + Sliding Window + Rolling Hash ] |
| 1043 |
Partition Array for Maximum Sum |
[ DP ] |
| 1042 |
Flower Planting With No Adjacent |
[ Pigeonhole Principle ] |
| 1041 |
Robot Bounded In Circle |
[ Solution ] |
| 1040 |
Moving Stones Until Consecutive II |
[ Math ] |
| 1039 |
Minimum Score Triangulation of Polygon |
[ DP ] |
| 1038 |
Binary Search Tree to Greater Sum Tree |
[ In-order Traversal ] |
| 1037 |
Valid Boomerang |
[ Cross Produce ] |
| 1036 |
Escape a Large Maze |
[ DFS ] |
| 1035 |
Uncrossed Lines |
[ DP ] |
| 1034 |
Coloring a Border |
[ DFS ] |
| 1033 |
Moving Stones Until Consecutive |
[ Math ] |
| 1032 |
Stream of Characters |
[ Trie ] |
| 1031 |
Maximum Sum of Two Non-Overlapping Subarrays |
[ Brute-force ] |
| 1030 |
Matrix Cells in Distance Order |
[ BFS ] |
| 1029 |
Two City Scheduling |
[ DP ] |
| 1028 |
Recover a Tree From Preorder Traversal |
[ Stack ] |
| 1027 |
Longest Arithmetic Sequence |
[ DP ] |
| 1026 |
Maximum Difference Between Node and Ancestor |
[ DFS ] |
| 1025 |
Divisor Game |
[ Game Theory ] |
| 1024 |
Video Stitching |
[ DP ] |
| 1023 |
Camelcase Matching |
[ Brute-force ] |
| 1022 |
Sum of Root To Leaf Binary Numbers |
[ DFS ] |
| 1021 |
Best Sightseeing Pair |
[ Greedy ] |
| 1020 |
Number of Enclaves |
[ DFS ] |
| 1019 |
Next Greater Node In Linked List |
[ Greedy + TreeMap ] |
| 1018 |
Binary Prefix Divisible By 5 |
[ Math ] |
| 1017 |
Convert to Base -2 |
[ Math ] |
| 1016 |
Binary String With Substrings Representing 1 To N |
[ Brute-force ] |
| 1015 |
Smallest Integer Divisible by K |
[ Math ] |
| 1014 |
Capacity To Ship Packages Within D Days |
[ Bisect ] |
| 1013 |
Partition Array Into Three Parts With Equal Sum |
[ Brute-force ] |
| 1012 |
Numbers With Repeated Digits |
[ Backtracking | Digit+Mask DP] |
| 1010 |
Pairs of Songs With Total Durations Divisible by 60 |
[ Counting ] |
| 1009 |
Complement of Base 10 Integer |
[ Bit Manipulation ] |
| 1008 |
Construct Binary Search Tree from Preorder Traversal |
[ DFS ] |
| 1007 |
Minimum Domino Rotations For Equal Row |
[ Brute-force ] |
| 1006 |
Clumsy Factorial |
[ Stack ] |
| 1005 |
Maximize Sum of Array After K Negations |
[ Greedy ] |
| 1004 |
Max Consecutive Ones III |
[ Sliding Window ] |
| 1003 |
Check If Word Is Valid After Substitutions |
[ Greedy | Java Solution ] |
| 1002 |
Find Common Characters |
[ Counter | Java Solution ] |
| 1001 |
Grid Illumination |
[ 8-queen ] |
| 1000 |
Minimum Cost to Merge Stones |
[ DP ] |
| 999 |
Available Captures for Rook |
[ Solution ] |
| 998 |
Maximum Binary Tree II |
[ DFS ] |
| 997 |
Find the Town Judge |
[ Universal Sink ] |
| 996 |
Number Squareful Arrays |
[ Hamiltonian Path ] |
| 995 |
Minimum Number of K Consecutive Bit Flips |
[ Greedy ] |
| 994 |
Rotting Oranges |
[ BFS ] |
| 993 |
Cousins in Binary Tree |
[ DFS ] |
| 992 |
Subarrays with K Different Integers |
[ Two Sliding-windows ] |
| 991 |
Broken Calculator |
[ Math ] |
| 990 |
Satisfiability of equality equations |
[ Union-Find Set ] |
| 989 |
Add to Array-Form of Integer |
[ Arithmetic Addition ] |
| 988 |
Smallest String Starting from Leaf |
[ Solution ] |
| 987 |
Vertical Order Traversal of a Binary Tree |
[ DFS + Stream ] |
| 986 |
Interval List Intersections |
[ Linear-time Solution ] |
| 985 |
Sum of Even Numbers After Queries |
[ Solution ] |
| 984 |
String without AAA or BBB |
[ Greedy ] |
| 983 |
Minimum Cost for Tickets |
[ DP ] |
| 982 |
Triples with Bitwise AND Equal to Zero |
[ DP + Lazy Evaluation ] |
| 981 |
Time Based Key-Value Store |
[ HashMap + TreeMap ] |
| 980 |
Unique Paths III |
[ DP + Bit-compression ] |
| 979 |
Distribute Coins in Binary Tree |
[ Bottom-up Solution | Top-down Solution ] |
| 978 |
Longest Turbulent Subarray |
[ Solution ] |
| 977 |
Squares of a Sorted Array |
[ 1-Liner | O(n)-time Solution ] |
| 976 |
Largest Perimeter Triangle |
[ Greedy ] |
| 975 |
Odd Even Jump |
[ DP ] |
| 974 |
Subarray Sums Divisible by K |
[ Prefix-sum ] |
| 973 |
K Closest Points to Origin |
[ 1-Liner ] |
| 968 |
Binary Tree Cameras |
[ Tree-DP | Greedy ] |
| 967 |
Numbers with Same Consecutive Differences |
[ Backtracking ] |
| 966 |
Vowel Spellchecker |
[ Mapper ] |
| 965 |
Univalued Binary Tree |
[ DFS ] |
| 964 |
Least Operators to Express Number |
[ Math ] |
| 963 |
Minimum Area Rectangle II |
[ Geometry ] |
| 962 |
Maximum Width Ramp |
[ Sweepline + BIT | Divide-and-Conquer | Just Sort ] |
| 961 |
N-Repeated-Element in Size 2N Array |
[ Partition ] |
| 960 |
Delete Columns to Make Sorted III |
[ DP ] |
| 959 |
Regions Cut By Slashes |
[ Union-find-set | Anti-aliasing ] |
| 958 |
Check the Completeness of a Binary Tree |
[ BFS ] |
| 957 |
Prison Cells After N Days |
[ Math ] |
| 956 |
Tallest Billboard |
[ DP ] |
| 955 |
Delete Columns to Make Sorted II |
[ Solution with Strong Prunings | Short Solution ] |
| 954 |
Array of Doubled Pairs |
[ Greedy ] |
| 953 |
Verifying an Alien Dictionary |
[ Solution ] |
| 952 |
Largest Component Size by Common Factor |
[ Math + Union-find Set ] |
| 951 |
Flip Equivalent Binary Trees |
[ DFS ] |
| 950 |
Reveal Cards in Increasing Order |
[ Simulation ] |
| 949 |
Largest Time for Given Digits |
[ Brute-force ] |
| 948 |
Bag of Tokens |
[ Greedy ] |
| 947 |
Most Stones Removed with Same Row or Column |
[ Union-Find Set ] |
| 946 |
Validate Stack Sequences |
[ Stack ] |
| 945 |
Minimum Increment to Make Array Unique |
[ Counting ] |
| 944 |
Delete Columns to Make Sorted |
[ Solution ] |
| 943 |
Find the Shortest Superstring |
[ DP ] |
| 942 |
DI String Match |
[ Construction ] |
| 941 |
Valid Mountain Array |
[ Two-pointer ] |
| 940 |
Distinct Subsequences II |
[ DP ] |
| 939 |
Minimum Area Rectangle |
[ Solution ] |
| 938 |
Range Sum of BST |
[ DFS ] |
| 937 |
Reorder Log Files |
[ Sorting ] |
| 936 |
Stamping the Sequence |
[ Thinking Reversely ] |
| 935 |
Knight Dialer |
[ DP ] |
| 934 |
Shortest Bridge |
[ DFS + BFS ] |
| 933 |
Number of Recent Calls |
[ Monotone Queue ] |
| 924 |
Minimize Malware Spread |
[ DFS ] |
| 923 |
3Sum with Multiplicity |
[ Counting | Two-pointer ] |
| 922 |
Sort Array by Parity II |
[ Solution] |
| 921 |
Minimum Add to Make Parentheses Valid |
[ Solution] |
| 920 |
Number of Music Playlists |
[ DP] |
| 919 |
Complete Binary Tree Inserter |
[ Solution] |
| 918 |
Maximum Sum Circular Subarray |
[ Divide-and-Conquer | Sliding-Window + TreeMap | Sliding-Window + Monotonic-Queue ] |
| 917 |
Reverse Only Letters |
[ Two-Pointer ] |
| 916 |
Word Subsets |
[ Counting ] |
| 915 |
Partition Array into Disjoint Intervals |
[ Solution ] |
| 914 |
X of a Kind in a Deck of Cards |
[ Math ] |
| 913 |
Cat and Mouse |
[ Game Theory ] |
| 911 |
Online Election |
[ Binary Search ] |
| 910 |
Smallest Range II |
[ Math ] |
| 909 |
Snakes and Ladders |
[ BFS ] |
| 908 |
Smallest Range I |
[ Greedy ] |
| 907 |
Sum of Subarray Minimums |
[ Divide-and-Conquer | Stack ] |
| 906 |
Super Palindromes |
[ Solution ] |
| 905 |
Sort Array By Parity |
[ 1-Liner ] |
| 904 |
Fruit Into Baskets |
[ Sliding-window ] |
| 903 |
Valid Permutations for DI Sequence |
[ DP ] |
| 902 |
Numbers At Most N Given Digit Set |
[ Math ] |
| 901 |
Online Stock Span |
[ Monotone-Stack ] |
| 900 |
RLE Iterator |
[ Solution ] |
| 899 |
Orderly Queue |
[ Math ] |
| 898 |
Bitwise ORs of Subarrays |
[ Divide-and-Conquer | Another Solution ] |
| 897 |
Increasing Order Search Tree |
[ In-order Traversal ] |
| 896 |
Monotonic Array |
[ 1-Liner ] |
| 891 |
Sum of Subsequences Widths |
[ Math ] |
| 890 |
Find and Replace Pattern |
[ Greedy ] |
| 889 |
Construct Binary Tree from Preorder and Postorder Traversal |
[ DP | Easy Solution ] |
| 888 |
Fair Candy Swap |
[ Solution ] |
| 887 |
Super Egg Drop |
[ DP with Binary Search Optimization ] |
| 886 |
Possible Bipartition |
[ DFS ] |
| 885 |
Spiral Matrix III |
[ Solution ] |
| 884 |
Uncommon Words from Two Sentences |
[ Solution ] |
| 883 |
Projection Area of 3D Shapes |
[ Solution ] |
| 882 |
Reachable Nodes in Subdivided Graph |
[ Shortest Path + Greedy ] |
| 881 |
Boats to Save People |
[ Greedy ] |
| 880 |
Decoded String at Index |
[ DP ] |
| 879 |
Profitable Schemes |
[ DP ] |
| 878 |
Nth Magical Number |
[ Binary Search ] |
| 877 |
Stone Game |
[ DP ] |
| 876 |
Middle of the Linked List |
[ Fast-and-slow Pointers ] |
| 875 |
Koko Eating Bananas |
[ Binary Search ] |
| 874 |
Walking Robot Simulation |
[ Solution ] |
| 873 |
Length of Longest Fibonacci Subsequence |
[ DP ] |
| 872 |
Leaf-Similar Trees |
[ DFS ] |
| 871 |
Minimum Number of Refueling Stops |
[ Greedy ] |
| 870 |
Advantage Shuffle |
[ Greedy + Merge-sort ] |
| 869 |
Reordered Power of 2 |
[ Solution ] |
| 868 |
Binary Gap |
[ Solution ] |
| 867 |
Transpose Matrix |
[ Solution ] |
| 866 |
Prime Palindrome |
[ Fast Primality Test ] |
| 865 |
Smallest Subtree with All the Deepest Nodes |
[ Tree-DP ] |
| 864 |
Shortest Path to Get All Keys |
[ SPFA ] |
| 863 |
All Nodes Distance K in Binary Tree |
[ DFS ] |
| 862 |
Shortest Subarray with Sum at Least K |
[ Augmented-BST ] |
| 861 |
Score After Flipping Matrix |
[ Greedy+Math ] |
| 860 |
Lemonade Change |
[ Greedy ] |
| 859 |
Buddy Strings |
[ Solution ] |
| 856 |
Score of Parentheses |
[ Divide-and-conquer ] |
| 855 |
Exam Room |
[ TreeSet + PriorityQueue ] |
| 853 |
Car Fleet |
[ Math ] |
| 852 |
Peak Index in a Mountain Array |
[ Binary Search ] |
| 851 |
Loud and Rich |
[ DAG ] |
| 850 |
Rectangle Area II |
[ Rectangle Cutting | Index Compressing ] |
| 849 |
Maximize Distance to Closest Person |
[ Solution ] |
| 848 |
Shifting Letters |
[ Suffix-sum ] |
| 847 |
Shortest Path Visiting All Nodes |
[ Hamiltonian-path ] |
| 846 |
Hand of Straights |
[ Solution ] |
| 845 |
Longest Mountain in Array |
[ Solution ] |
| 844 |
Backspace String Compare |
[ Solution ] |
| 843 |
Guess the Word |
[ Min-max Greedy ] |
| 842 |
Split Array into Fibonacci Sequence |
[ Brute-force ] |
| 841 |
Keys and Rooms |
[ DFS ] |
| 840 |
Magic Squares in Grid |
[ Solution ] |
| 838 |
Push Dominoes |
[ Solution ] |
| 837 |
Sliding Window |
[ DP + Sliding Window ] |
| 836 |
Rectangle Overlap |
[ Solution ] |
| 835 |
Image Overlap |
[ Math ] |
| 834 |
Sum of Distances in Tree |
[ Tree DP ] |
| 833 |
Find and replace in String |
[ Solution ] |
| 832 |
Flipping an Image |
[ Solution ] |
| 831 |
Masking Personal Information |
[ Solution ] |
| 830 |
Positions of Large Groups |
[ Solution ] |
| 829 |
Consecutive Numbers Sum |
[ Math ] |
| 828 |
Unique Number String |
[ Counting ] |
| 827 |
Making a Large Island |
[ Union-Find Set ] |
| 826 |
Most Profit Assigning Work |
[ Greedy | BIT ] |
| 825 |
Friends of Appropriate Ages |
[ Solution ] |
| 824 |
Goat Latin |
[ Solution ] |
| 823 |
Binary Trees with Factors |
[ DP + Two-pointers ] |
| 822 |
Card Flipping Game |
[ Solution ] |
| 821 |
Shortest Distance to a Character |
[ Brute-force | Linear-time Solution ] |
| 820 |
Short Encoding of Words |
[ Greedy ] |
| 815 |
Bus Routes |
[ BFS ] |
| 814 |
Binary Tree Pruning |
[ DFS ] |
| 813 |
Largest Sum of Averages |
[ DP ] |
| 812 |
Largest Triangle Area |
[ Brute-force ] |
| 811 |
Subdomain Visit Count |
[ HashMap ] |
| 810 |
Chalkboard XOR game |
[ Game Theory ] |
| 809 |
Expressive Words |
[ Solution ] |
| 808 |
Soup Servings |
[ DP + Math ] |
| 807 |
Max Increase to Keep City Skyline |
[ Solution ] |
| 806 |
Number of Lines To Write String |
[ Solution ] |
| 805 |
Split Array with Same Average |
[ Pruning + DP | Pruning + DFS ] |
| 804 |
Unique Morse Code Words |
[ Solution ] |
| 799 |
Champagne Tower |
[ Solution ] |
| 798 |
Smallest Rotation with Highest Score |
[ Sliding Window ] |
| 797 |
All Paths from Source to Target |
[ Backtracking ] |
| 796 |
Rotate String |
[ Solution ] |
| 795 |
Number of Subarrays with Bounded Maximum |
[ Divide-and-Conquer | O(n)-time Solution ] |
| 794 |
Valid Tic-Tac-Toe State |
[ Solution ] |
| 793 |
Preimage Size of Factorial Zeroes Function |
[ Binary Search + Math ] |
| 792 |
Number of Matching Subsequences |
[ Linear-time Solution ] |
| 791 |
Custom Sort String |
[ Quick-sort | Counting-sort ] |
| 790 |
Domino and Tromino Tiling |
[ DP ] |
| 789 |
Escape the Ghosts |
[ Math ] |
| 788 |
Rotated Digits |
[ Solution ] |
| 787 |
Cheapest Flights Within K Stops |
[ DP ] |
| 786 |
K-th Smallest Prime Fraction |
[ Partition | Young Tableau ] |
| 785 |
Is Graph Bipartite? |
[ DFS ] |
| 784 |
Letter Case Permutation |
[ Solution ] |
| 783 |
Minimum Distance Between BST Nodes |
[ In-order Traversal ] |
| 781 |
Rabbits in Forest |
[ Math ] |
| 780 |
Reaching Points |
[ Math ] |
| 779 |
K-th Symbol in Grammar |
[ Recursion ] |
| 778 |
Swim in Rising Water |
[ Binary Search + DFS | Dijkstra ] |
| 777 |
Swap Adjacent in LR String |
[ Greedy ] |
| 776 |
Split BST |
[ Recursion ] |
| 775 |
Global and Local Inversions |
[ BIT ] |
| 774 |
Minimize Max Distance to Gas Station |
[ Binary Search ] |
| 773 |
Sliding Puzzle |
[ BFS ] |
| 771 |
Jewels and Stones |
[ Solution ] |
| 769 |
Max Chunks To Make Sorted |
[ Greedy ] |
| 768 |
Max Chunks To Make Sorted II |
[ Greedy | HashMap ] |
| 767 |
Reorganize String |
[ Greedy ] |
| 766 |
Toeplitz Matrix |
[ Solution ] |
| 761 |
Special Binary String |
[ Greedy + Stack ] |
| 760 |
Find Anagram Mappings |
[ Solution ] |
| 759 |
Employee Free Time |
[ Segment Tree ] |
| 758 |
Bold Words in String |
[ Greedy ] |
| 757 |
Set Intersection Size At Least Two |
[ Sweepline + Greedy ] |
| 756 |
Pyramid Transition Matrix |
[ DP ] |
| 755 |
Pour Water |
[ Solution ] |
| 754 |
Reach a Number |
[ Math ] |
| 753 |
Cracking the Safe |
[ Eulerian Circuit ] |
| 752 |
Open the Lock |
[ BFS ] |
| 751 |
IP to CIDR |
[ Greedy + Bit Manipulation ] |
| 750 |
Number of Corner Rectangles |
[ Solution ] |
| 749 |
Contain Virus |
[ DFS ] |
| 748 |
Shortest Completing Word |
[ Solution ] |
| 747 |
Largest Number Greater Than Twice of Others |
[ Solution ] |
| 746 |
Min Cost Climbing Stairs |
[ DP ] |
| 745 |
Prefix and Suffix Search |
[ Solution1 | Solution2 ] |
| 744 |
Find Smallest Letter Greater Than Target |
[ Solution ] |
| 743 |
Network Delay Time |
[ Floyd | SPFA ] |
| 742 |
Closest Leaf in a Binary Tree |
[ DFS ] |
| 741 |
Cherry Pickup |
[ DP ] |
| 740 |
Delete and Earn |
[ DP ] |
| 739 |
Daily Temperatures |
[ Stack ] |
| 738 |
Monotone Increasing Digits |
[ Greedy ] |
| 737 |
Sentence Similarity II |
[ Union-find Set ] |
| 736 |
Parse Lisp Expression |
[ Parser ] |
| 735 |
Asteroid Collision |
[ Stack ] |
| 734 |
Sentence Similarity |
[ Solution ] |
| 733 |
Flood Fill |
[ DFS ] |
| 731 |
My Calendar II |
[ Sweepline | Segment Tree ] |
| 730 |
Count Different Palindromic Subsequences |
[ DP ] |
| 729 |
My Calendar I |
[ Sweepline | Segment Tree ] |
| 728 |
Self Dividing Numbers |
[ Solution ] |
| 727 |
Minimum Window Subsequence |
[ DP ] |
| 726 |
Number of Atoms |
[ LL-Parser | Python Solution | Non-recursive Solution ] |
| 725 |
Split Linked List in Parts |
[ Greedy ] |
| 724 |
Find Pivot Index |
[ Prefix-Sum ] |
| 723 |
Candy Crush |
[ Solution ] |
| 722 |
Remove Comments |
[ Solution ] |
| 721 |
Accounts Merge |
[ Disjoint Set + Hashset ] |
| 720 |
Longest Word in Dictionary |
[ Sorting + DP ] |
| 719 |
Find K-th Smallest Pair Distance |
[ Binary Search + Sliding Window ] |
| 718 |
Maximum Length of Repeated Subarray |
[ DP | Binary Search + Rolling Hash ] |
| 717 |
1-bit and 2-bit Characters |
[ Solution ] |
| 715 |
Range Module |
[ O(n log q)-time Solution via Dynamic Segment Tree ] |
| 714 |
Best Time to Buy and Sell Stock with Transaction Fee |
[ O(n)-time DP ] |
| 713 |
Subarray Product Less Than K |
[ O(n)-time sliding window ] |
| 712 |
Minimum ASCII Delete Sum for Two Strings |
[ DP ] |
| 699 |
Falling Squares |
[ Simple O(n^2)-time Solution | O(n log n)-time Solution via Segment Tree ] |
| 698 |
Partition to K Equal Sum Subsets |
[ Bit-DP ] |
| 697 |
Degree of an Array |
[ HashMap ] |
| 696 |
Count Binary Substrings |
[ DP | Linear Scan ] |
| 695 |
Max Area of Island |
[ DFS ] |
| 694 |
Number of Distinct Islands |
[ DFS + Sorting + Hashing ] |
| 693 |
Binary Number with Alternating Bits |
[ Solution ] |
| 693 |
Stickers to Spell Word |
[ DP + Optimization ] |
| 689 |
Maximum Sum of 3 Non-overlapping Subarrays |
[ DP + Solution Finding ] |
| 688 |
Knight Probability in Chessboard |
[ DP ] |
| 687 |
Longest Univalue Path |
[ Tree-DP ] |
| 686 |
Repeated String Match |
[ Brute-force | KMP ] |
| 685 |
Redundant Connection II |
[ DFS ] |
| 683 |
K Empty Slots |
[ BST ] |
| 682 |
Baseball Game |
[ Implementation ] |
| 681 |
Next Closest Time |
[ Brute-force ] |
| 680 |
Valid Palindrome II |
[ Greedy ] |
| 679 |
24 Game |
[ Backtracking ] |
| 678 |
Valid Parenthesis String |
[ DP ] |
| 677 |
Map Sum Pairs |
[ Trie ] |
| 676 |
Implement Magic Dictionary |
[ Brute-force | Trie + Fuzzy Search ] |
| 675 |
Cut Off Trees for Golf Event |
[ BFS ] |
| 674 |
Longest Continuous Increasing Subsequence |
[ O(n)-time Solution ] |
| 673 |
Number of Longest Increasing Subsequence |
[ O(n^2)-time DP | O(n log n)-time DP via Treap ] |
| 672 |
Bulb Switcher II |
[ Brute-force + Math ] |
| 671 |
Second Minimum Node in a Binary Tree |
[ DFS ] |
| 670 |
Maximum Swap |
[ Brute-force ] |
| 669 |
Trim a Binary Search Tree |
[ DFS ] |
| 668 |
Kth Smallest Number in Multiplication Table |
[ Binary Search ] |
| 667 |
Beautiful Arrangement II |
[ Constructive Approach ] |
| 666 |
Path Sum IV |
[ DFS ] |
| 665 |
Non-decreasing Array |
[ Greedy ] |
| 664 |
Strange Printer |
[ DP ] |
| 663 |
Equal Tree Partition |
[ DFS ] |
| 662 |
Maximum Width of Binary Tree |
[ DFS "Solution" | BFS Solution ] |
| 661 |
Image Smoother |
[ Solution ] |
| 660 |
Remove 9 |
[ Base-9 ] |
| 656 |
Coin Path |
[ DP + Printing Solution ] |
| 655 |
Print Binary Tree |
[ DFS + Math ] |
| 654 |
Maximum Binary Tree |
[ DFS ] |
| 653 |
Two Sum IV - Input is a BST |
[ Solution ] |
| 652 |
Find Duplicate Subtrees |
[ Tree-DP | Tree Encoding ] |
| 651 |
4 Keys Keyboard |
[ DP ] |
| 650 |
2 Keys Keyboard |
[ O(n log n)-time DP ] |
| 649 |
Dota2 Senate |
[ Greedy + Queue ] |
| 648 |
Replace Words |
[ Trie ] |
| 647 |
Palindromic Substrings |
[ DP ] |
| 646 |
Maximum Length of Pair Chain |
[ Sweepline ] |
| 645 |
Set Mismatch |
[ Counting Sort ] |
| 644 |
Maximum Average Subarray II |
[ Binary Search + Sliding Window ] |
| 643 |
Maximum Average Subarray I |
[ Sliding Window ] |
| 642 |
Design Search Autocomplete System |
[ Brute-force | Trie ] |
| 640 |
Solve the Equation |
[ Parser ] |
| 639 |
Decode Ways II |
[ Counting ] |
| 638 |
Shopping Offers |
[ DP | Search + Pruning ] |
| 637 |
Average of Levels in Binary Tree |
[ DFS ] |
| 636 |
Exclusive Time of Functions |
[ Stack ] |
| 635 |
Design Log Storage System |
[ Brute-force + Lexicographical Order ] |
| 634 |
Find the Derangement of an Array |
[ Combinatorics ] |
| 633 |
Sum of Square Numbers |
[ Solution | Another Solution ] |
| 632 |
Smallest Range |
[ Greedy + BST ] |
| 631 |
Design Excel Sum Formula |
[ DAG + Implementation ] |
| 630 |
Course Schedule III |
[ Sweep Line + Greedy ] |
| 629 |
K Inverse Pairs Array |
[ Counting ] |
| 628 |
Maximum Product of Three Numbers |
[ Math ] |
| 625 |
Minimum Factorization |
[ Greedy | DP ] |
| 624 |
Maximum Distance in Arrays |
[ Solution ] |
| 623 |
Add One Row to Tree |
[ DFS ] |
| 621 |
Task Scheduler |
[ Simulation + Greedy ] |
| 617 |
Merge Two Binary Trees |
[ DFS ] |
| 616 |
Add Bold Tag in String |
[ O(1000^2)-time Solution ] |
| 611 |
Valid Triangle Number |
[ Three-sum ] |
| 609 |
Find Duplicate File in System |
[ Solution ] |
| 606 |
Construct String from Binary Tree |
[ DFS ] |
| 605 |
Can Place Flowers |
[ Greedy ] |
| 604 |
Design Compressed String Iterator |
[ Lazy Solution ] |
| 600 |
Non-negative Integers without Consecutive Ones |
[ Counting | Digit-DP ] |
| 599 |
Minimum Index Sum of Two Lists |
[ Brute-force ] |
| 598 |
Range Addition II |
[ Solution ] |
| 594 |
Longest Harmonious Subsequence |
[ Brute-force ] |
| 593 |
Valid Square |
[ Elegant Solution ] |
| 592 |
Fraction Addition and Subtraction |
[ Solution ] |
| 591 |
Tag Validator |
[ Recursive Solution ] |
| 588 |
Design In-memory File System |
[ Trie ] |
| 583 |
Delete Operation for Two Strings |
[ LCS ] |
| 582 |
Kill Process |
[ Tree Traversal | Union-find-set-like Solution ] |
| 581 |
Shortest Unsorted Continuous Subarray |
[ Sorting ] |
| 576 |
Out of Boundary Paths |
[ DP ] |
| 575 |
Distribute Candies |
[ Greedy ] |
| 573 |
Squirrel Simulation |
[ Greedy ] |
| 572 |
Subtree of Another Tree |
[ O(n^2)-time Brute-force | O(n)-time Solution | Tree Encoding ] |
| 568 |
Maximum Vacation Days |
[ DP ] |
| 567 |
Permutation in String |
[ Sliding-window ] |
| 566 |
Reshape the Matrix |
[ Brute-force ] |
| 565 |
Array Nesting |
[ Solution ] |
| 564 |
Find the Closest Palindrome |
[ Greedy ] |
| 563 |
Binary Tree Tilt |
[ DFS ] |
| 562 |
Longest Line of Consecutive One in Matrix |
[ Brute-force ] |
| 561 |
Array Partition I |
[ Greedy ] |
| 560 |
Subarray Sum Equals K |
[ Prefix-sum ] |
| 555 |
Split Assembled Strings |
[ Brute-force ] |
| 553 |
Optimal Division |
[ Greedy ] |
| 552 |
Student Attendance Record II |
[ Counting | More Elegant Solution | O(log n)-time Solution | O(log n)-time Solution with Shorter Code ] |
| 551 |
Student Attendance Record I |
[ 1-Liner ] |
| 546 |
Remove Boxes |
[ O(n^4)-time DP ] |
| 545 |
Boundary of Binary Tree |
[ (Careful) Tree Traversal ] |
| 544 |
Output Contest Matches |
[ Brute-force | O(n)-time Solution ] |
| 543 |
Diameter of Binary Tree |
[ DP ] |
| 542 |
01 Matrix |
[ BFS ] |
| 541 |
Reverse String II |
[ Brute-force ] |
| 540 |
Single Element in a Sorted Array |
[ Binary Search ] |
| 539 |
Minimum Time Difference |
[ Sorting ] |
| 538 |
Convert BST to Greater Tree |
[ Right-root-left-traversal ] |
| 537 |
Complex Number Multiplication |
[ Brute-force ] |
| 536 |
Construct Binary Tree from String |
[ LL(1)-parser ] |
| 533 |
Lonely Pixel II |
[ Solution ] |
| 532 |
K-diff Pairs in an Array |
[ O(n)-time Solution | Two-pointer ] |
| 531 |
Lonely Pixel I |
[ Brute-force ] |
| 530 |
Minimum Absolute Difference in BST |
[ DFS ] |
| 529 |
Minesweeper |
[ DFS ] |
| 527 |
Word Abbreviation |
[ Brute-force ] |
| 526 |
Beautiful Arrangement |
[ Permutation ] |
| 525 |
Contiguous Array |
[ Prefix Sum | Divide-and-conquer ] |
| 524 |
Longest Word in Dictionary through Deleting |
[ Greedy ] |
| 523 |
Continuous Subarray Sum |
[ Prefix Sum ] |
| 520 |
Detect Capital |
[ Regex ] |
| 517 |
Super Washing Machines |
[ O(n)-time Solution ] |
| 515 |
Find Largest Value in Each Tree Row |
[ DFS ] |
| 514 |
Freedom Trail |
[ DP | Faster DP ] |
| 513 |
Find Bottom Left Tree Value |
[ DFS ] |
| 509 |
Most Frequent Subtree Sum |
[ Tree Traversal ] |
| 507 |
Perfect Number |
[ O(sqrt(n))-time Solution ] |
| 506 |
Relative Ranks |
[ Sorting ] |
| 505 |
The Maze II |
[ DFS + Pruning | A* Search | DFS + Multithreading ] |
| 504 |
Base 7 |
[ 1-line Solution | Conventional Method ] |
| 503 |
Next Greater Element II |
[ Monotone Stack ] |
| 502 |
IPO |
[ Greedy ] |
| 501 |
Find Mode in Binary Tree |
[ DFS + HashMap | O(1)-extra-space Solution ] |
| 500 |
Keyboard Row |
[ 1-Line Solution ] |
| 499 |
The Maze III |
[ A* | DFS ] |
| 498 |
Diagonal Traversal |
[ Sorting | Direct Approach ] |
| 496 |
Next Greater Element I |
[ Brute-force ] |
| 495 |
Teemo Attacking |
[ Sweepline ] |
| 494 |
Target Sum |
[ Knapsack ] |
| 493 |
Reverse Pairs |
[ Merge-sort | Merge-sort Shorter Code | BIT ] |
| 492 |
Construct the Rectangle |
[ Brute-force ] |
| 491 |
Increasing Subsequences |
[ Brute-force ] |
| 490 |
The Maze |
[ DFS ] |
| 488 |
Zuma Game |
[ BFS ] |
| 487 |
Max Consecutive Ones II |
[ O(1)-space Solution ] |
| 486 |
Predict the Winner |
[ DP + Game Theory | Shorter Code ] |
| 485 |
Max Consecutive Ones |
[ Brute-force ] |
| 484 |
Find Permutation |
[ Topological-sort | Constructive Approach ] |
| 483 |
Smallest Good Base |
[ Brute-force + Binary Search ] |
| 482 |
License Key Formatting |
[ Short Solution ] |
| 481 |
Magical String |
[ BFS ] |
| 480 |
Sliding Window Median |
[ Order Statistic Tree via Fenwick Tree ] |
| 477 |
Total Hamming Distance |
[ Bit-by-bit Counting ] |
| 476 |
Number Complement |
[ One-line Solution ] |
| 475 |
Heaters |
[ Direct Approach | Binary Search ] |
| 474 |
One and Zeroes |
[ 0/1-Knapsack ] |
| 473 |
Matchsticks to Square |
[ Backtracking ] |
| 472 |
Concatenated Words |
[ DP + Trie ] |
| 471 |
Encode String with Shortest Length |
[ DP ] |
| 469 |
Convex Polygon |
[ Cross Product ] |
| 468 |
Validate IP Address |
[ Solution ] |
| 467 |
Unique Substring in Wraparound String |
[ String Breaking and Encoding ] |
| 466 |
Count the Repetitions |
[ DP ] |
| 465 |
Optimal Account Balancing |
[ Subset-Sum ] |
| 464 |
Can I Win |
[ DP + Game Theory ] |
| 463 |
Island Perimeter |
[ Brute-force ] |
| 462 |
Minimum Moves to Equal Array Elements II |
[ Median Finding + Quick-Selection ] |
| 461 |
Hamming Distance |
[ Brute-force ] |
| 459 |
Repeated Substring Pattern |
[ O(n^1.5) Solution | 1-Liner | 1-Liner via Regex | Miller-Rabin | KMP ] |
| 456 |
123 Pattern |
[ O(n log n) Solution via BST ] |
| 455 |
Assign Cookies |
[ Greedy ] |
| 454 |
4Sum II |
[ HashMap ] |
| 453 |
Minimum Moves to Equal Array Elements |
[ Solution ] |
| 452 |
Minimum Number of Arrows to Burst Balloons |
[ Greedy via Sweepline ] |
| 451 |
Sort Characters by Frequency |
[ Counting-sort ] |
| 450 |
Delete Node in a BST |
[ Iterative Solution | Shorter Solution ] |
| 449 |
Serialize and Deserialize BST |
[ Pre-order Traversal | Optimized Version ] |
| 448 |
Find All Numbers Disappeared in an Array |
[ Cycle-finding ] |
| 447 |
Number of Boomerangs |
[ Counting via HashMap ] |
| 446 |
Arithmetic Slices II - Subsequence |
[ Very Fast O(n^3) DP Solution | O(n^2) DP Solution with Pruning ] |
| 444 |
Sequence Reconstruction |
[ Topological Sort ] |
| 443 |
String Compression |
[ Solution ] |
| 442 |
Find All Duplicates in an Array |
[ Mod Trick ] |
| 441 |
Arranging Coins |
[ O(1) Brute-force ] |
| 440 |
K-th Smallest in Lexicographical Order |
[ Counting + Greedy ] |
| 439 |
Ternary Expression Parser |
[ Top-down Approach ] |
| 438 |
Find All Anagrams in a String |
[ Sliding-window ] |
| 437 |
Path Sum III |
[ One-pass DFS | One-pass DFS Version 2 | Two-pass DFS ] |
| 436 |
Find Right Interval |
[ TreeMap ] |
| 435 |
Non-overlapping Intervals |
[ Greedy | Activity Selection ] |
| 435 |
Number of Segments in a String |
[ Regex ] |
| 433 |
Minimum Genetic Mutation |
[ BFS ] |
| 432 |
All O`one Data Structure |
[ HashMap + Doubly Circular Linked List ] |
| 425 |
Word Squares |
[ Backtracking + Pruning with Prefix Structure | Hueristic Backtracking + Pruning with BitSet ] |
| 424 |
Longest Repeating Character Replacement |
[ Binary Search | Sliding-window ] |
| 423 |
Reconstruct Original Digits from English |
[ Greedy ] |
| 422 |
Valid World Square |
[ Brute-force ] |
| 421 |
Maximum XOR of Two Numbers in an Array |
[ Binary Trie ] |
| 420 |
Strong Password Checker |
[ Stupid Solution ] |
| 419 |
Battleships in a Board |
[ Single-pass + In-place + No modification ] |
| 418 |
Sentence Screen Fitting |
[ Simulation ] |
| 417 |
Pacific Atlantic Water Flow |
[ Graph Reachability | DP + Vertex Contraction ] |
| 416 |
Partition Equal Subset Sum |
[ 0/1-Knapsack ] |
| 415 |
Add Strings |
[ BigInteger Addition ] |
| 414 |
Third Maximum Number |
[ One-pass Solution ] |
| 413 |
Arithmetic Slices |
[ Solution | In-place Solution ] |
| 412 |
Fizz Buzz |
[ Brute-force ] |
| 411 |
Minimum Unique Word Abbreviation |
[ Brute-force + Pruning ] |
| 410 |
Split Array Largest Sum |
[ Bisect + Greedy ] |
| 409 |
Longest Palindrome |
[ Counting ] |
| 408 |
Valid Word Abbreviation |
[ Brute-force ] |
| 407 |
Trapping Rain Water II |
[ Priority Queue | Dijkstra | SPFA ] |
| 406 |
Queue Reconstruction by Height |
[ Greedy + Sorting ] |
| 405 |
Convert a Number to Hexadecimal |
[ Bit Manipulation ] |
| 404 |
Sum of Left Leaves |
[ DFS ] |
| 403 |
Frog Jump |
[ DP ] |
| 402 |
Remove K Digits |
[ Greedy + Monotone Stack ] |
| 401 |
Binary Watch |
[ Brute-force 1 | Brute-force 2] |
| 400 |
Nth Digit |
[ Counting + Bisect ] |
| 399 |
Evaluate Division |
[ Floyed | DFS ] |
| 398 |
Random Pick Index |
[ Solution1 | Solution2 | Solution3 ] |
| 397 |
Integer Replacement |
[ BFS ] |
| 396 |
Rotate Fucntion |
[ Solution ] |
| 395 |
Longest Substring with At Least K Repeating Characters |
[ O(256N) Solution | Solution with Pruning ] |
| 394 |
Decode String |
[ Top-down Approach ] |
| 393 |
UTF-8 Validation |
[ Solution ] |
| 392 |
Is Subsequence |
[ Solution ] |
| 391 |
Perfect Rectangle |
[ Sweepline + TreeMap | Sweepline + Segment Tree ] |
| 390 |
Elimination Game |
[ O(log n) Math ] |
| 389 |
Find the Difference |
[ Solution ] |
| 388 |
Longest Absolute File Path |
[ Using a Stack | Recursively Solution ] |
| 387 |
First Unique Character in a String |
[ Brute-Force ] |
| 386 |
Lexicographical Numbers |
[ Using a stack | Recursive Solution ] |
| 385 |
Mini Parser |
[ Char-by-char Approach | Using Scanner ] |
| 384 |
Shuffle an Array |
[ Solution ] |
| 383 |
Ransom Note |
[ Solution ] |
| 381 |
Insert Delete GetRandom O(1) Duplicate Allowed |
[ Solution ] |
| 379 |
Design Phone Directory |
[ Simple Solution ] |
| 378 |
Kth Smallest Element in a Sorted Matrix |
[ Bisect + Young Tableau ] |
| 377 |
Combination Sum IV |
[ DP ] |
| 376 |
Wiggle Subsequence |
[ O(n) Climbing Mountain | O(n) In-place Maximal/Minimal Finding ] |
| 375 |
Guess Number Higher or Lower II |
[ O(n^3) DP ] |
| 374 |
Guess Number Higher or Lower |
[ Binary Search ] |
| 373 |
Find K Pairs with Smallest Sums |
[ O(k log k) Solution | O(k log(min(k, m, n)) + min(k, m, n)) Solution ] |
| 372 |
Super Pow |
[ Most-significant Bit -> Least-significant Bit | Least-significant Bit -> Most-significant Bit ] |
| 371 |
Sum of Two Integers |
[ Bit Manipulation ] |
| 370 |
Range Addition |
[ Fenwick Tree | Sweepline | O(n) Prefix Trick | Segment Tree ] |
| 369 |
Plus One Linked List🔒 |
|
| 368 |
Largest Divisible Subset |
[ DP ] |
| 367 |
Valid Perfect Square |
[ Binary Search ] |
| 366 |
Find Leaves of Binary Tree |
[ Computing Tree Height ] |
| 365 |
Water and Jug Problem |
[ Math ] |
| 364 |
Nested List Weight Sum II🔒 |
|
| 363 |
Max Sum of Rectangle No Larger Than K |
[ BST ] |
| 362 |
Design Hit Counter |
[ Sliding Window ] |
| 361 |
Bomb Enemy |
[ DP ] |
| 360 |
Sort Transformed Array |
[ O(n)-time Solution ] |
| 359 |
Logger Rate Limiter |
[ Simple Solution | Sliding Window ] |
| 358 |
Rearrange String k Distance Apart |
[ Greedy + Sliding Window ] |
| 357 |
Count Numbers with Unique Digits |
[ Product Rule ] |
| 356 |
Line Reflection |
[ In-place Solution ] |
| 355 |
Design Twitter |
[ k-way Merging ] |
| 354 |
Russian Doll Envelopes |
[ Longest Path | Longest Increasing Subsequence ] |
| 353 |
Design Snake Game |
[ Deque + HashTable ] |
| 352 |
Data Stream as Disjoint Intervals |
[ BST ] |
| 351 |
Android Unlock Patterns🔒 |
|
| 350 |
Intersection of Two Arrays II |
[ Mergesort ] |
| 349 |
Intersection of Two Arrays |
[ Java Stream ] |
| 348 |
Design Tic-Tac-Toe |
[ O(1)-time Solution ] |
| 347 |
Top K Frequent Elements |
[ Map+QuickSelection | Map+CountingSort ] |
| 346 |
Moving Average from Data Stream |
[ Sliding Window ] |
| 345 |
Reverse Vowels of a String |
[ Two-Pointer ] |
| 344 |
Reverse String |
[ String ] |
| 343 |
Integer Break |
[ Math/DP ] |
| 342 |
Power of Four |
[ Bit Manipulate ] |
| 341 |
Flatten Nested List Iterator |
[ Stack/DFS | Lazier ] |
| 340 |
Longest Substring with At Most K Distinct Characters |
[ O(n) Sliding Window | O(n log n) Bisect | Slinding Window Shorter Code | Sliding Window for Streaming Data (1 pass) ] |
| 339 |
Nested List Weight Sum |
[ DFS ] |
| 338 |
Counting Bits |
[ Counting ] |
| 337 |
House Robber III |
[ Tree DP ] |
| 336 |
Palindrome Pairs |
[ A Naive Solution ] |
| 335 |
Self Crossing |
[ Geometry ] |
| 334 |
Increasing Triplet Subsequence |
[ LIS ] |
| 333 |
Largest BST Subtree |
[ Tree-DP ] |
| 332 |
Reconstruct Itinerary |
[ Euler Path ] |
| 331 |
Verify Preorder Serialization of a Binary Tree |
[ Using a Stack | Property of Full Binary Tree ] |
| 330 |
Patching Array |
[ Greedy Algorithm ] |
| 329 |
Longest Increasing Path in a Matrix |
[ O(nm) DP ] |
| 328 |
Odd Even Linked List |
[ O(n) in-place ] |
| 327 |
Count of Range Sum |
[ O(n log n) solution via Fenwick Tree ] |
| 326 |
Power of Three |
[ An interesting O(log log n) solution ] |
| 325 |
Maximum Size Subarray Sum Equals k |
[ Prefix-sum + HashTable ] |
| 324 |
Wiggle Sort II |
[ Median Finding, Dutch National Flag ] |
| 323 |
Number of Connected Components in an Undirected Graph |
[ DFS ] |
| 322 |
Coin Change |
[ Knapsack ] |
| 321 |
Create Maximum Number |
[ Stack + Greedy ] |
| 320 |
Generalized Abbreviation |
[ Bit-manipulation ] |
| 319 |
Bulb Switcher |
[ O(1) Math ] |
| 318 |
Maximum Product of Word Lengths |
[ O(n^2) brute-force ] |
| 317 |
Shortest Distance from All Buildings |
[ BFS ] |
| 316 |
Remove Duplicate Letters |
[ O(n) Greedy Solution | O(n) Solution via Stack ] |
| 315 |
Count of Small Numbers After Self |
[ Discretization + Fenwick Tree | Mergesort ] |
| 314 |
Binary Tree Vertical Order TGraversal |
[ BFS | BFS (slower, but shorter) ] |
| 313 |
Super Ugly Number |
[ O(nk) Constructive Algorithm ] |
| 312 |
Burst Balloons |
[ O(n^3) DP ] |
| 311 |
Sparse Matrix Multiplication🔒 |
|
| 310 |
Minimum Height Trees |
[ Longest Path in Tree | Tree DP ] |
| 309 |
Best Time to Buy and Sell Stock with Cooldown |
[ O(n^2) DP | O(n) DP ] |
| 308 |
Range Sum Query 2D - Mutable |
[ 2D-Sqrt Partition | 2D Fenwick Tree ] |
| 307 |
Range Sum Query - Mutable |
[ sqrt(n) Trick | Fenwick Tree | Segment Tree ] |
| 306 |
Additive Number |
[ Fibonacci Sequence ] |
| 305 |
Number of Islands II |
[ Union-Find Set ] |
| 304 |
Range Sum Query 2D - Immutable |
[ Inclusion-Exclusion ] |
| 303 |
Range Sum Query - Immutable |
[ Prefix Sum ] |
| 302 |
Smallest Rectangle Enclosing Black Pixels |
[ DFS ] |
| 301 |
Remove Invalid Parentheses |
[ Backtracking | DP ] |
| 298 |
Binary Tree Longest Consecutive Sequence |
[ Tree-DP | DFS | Another DFS Solution] |
| 297 |
Serialize and Deserialize Binary Tree |
[ DFS ] |
| 294 |
Flip Game II |
[ Nim + Sprague-Grundy Theorem ] |
| 293 |
Flip Game |
[ Brute-force ] |
| 291 |
Word Pattern II |
[ Backtracking | Backtracking + Pruning ] |
| 289 |
Game of Life |
[ In-place Solution | Infinite Board ] |
| 288 |
Unique Word Abbreviation |
[ HashMap ] |
| 286 |
Walls and Gates |
[ BFS] |
| 285 |
Inorder Successor in BST |
[ Top-down Approach | Using Parent Pointers ] |
| 283 |
Move Zeroes |
[ Partition | Cheating ] |
| 281 |
Zigzag Iterator |
[ Solution ] |
| 280 |
Wiggle Sort |
[ One-pass Solution ] |
| 277 |
Find the Celebrity |
[ Universal Sink ] |
| 276 |
Paint Fence |
[ Combinatorial ] |
| 274 |
H-Index |
[ Counting Sort ] |
| 272 |
Closest Binary Search Tree Value II |
[ Predesessor + Successor in BST ] |
| 271 |
Encode and Decode Strings |
[ Escaping Character | Trie Serialization/Deserialization ] |
| 270 |
Closest Binary Search Tree Value |
[ Solution ] |
| 269 |
Alien Dictionary |
[ Topological Sort (BFS) | BFS with Smaller Constant | Topological Sort (DFS)] |
| 267 |
Palindrome Permutation II |
[ Counting + Next Permutation ] |
| 266 |
Palindrome Permutation |
[ Counting ] |
| 265 |
Paint House II |
[ O(nk) DP ] |
| 262 |
Trips and Users |
[ Solution ] |
| 261 |
Graph Valid Tree |
[ Union-find Set ] |
| 259 |
3Sum Smaller |
[ Two-pointer ] |
| 256 |
Paint House |
[ DP ] |
| 255 |
Verify Preorder Sequence in Binary Search Tree |
[ Construction Method | RMQ + Binary Search ] |
| 254 |
Factor Combinations |
[ Backtracking ] |
| 253 |
Meeting Rooms II |
[ Sweepline Algorithm ] |
| 252 |
Meeting Rooms |
[ Sweepline ] |
| 251 |
Flatten 2D Vector |
[ Iterator ] |
| 250 |
Count Univalue Subtrees |
[ DFS ] |
| 249 |
Group Shifted Strings |
[ Keyed-by ] |
| 246 |
Strobogrammatic Number |
[ Brute-force ] |
| 245 |
Shortest Word Distance III |
[ Linear Scan ] |
| 244 |
Shortest Word Distance II |
[ Solution ] |
| 218 |
The Skyline Problem |
[ Sweepline | Java Code] |
| 214 |
Shortest Palindrome |
[ Rabin-Karp rolling hash | KMP ] |
| 212 |
Word Search II |
[ DP + Trie ] |
| 206 |
Reverse Linked List |
[ Solution ] |
| 197 |
Rising Temperature |
[ Solution ] |
| 196 |
Delete Duplicate Emails |
[ Solution ] |
| 186 |
Reverse Words in a String II |
[ In-place Solution ] |
| 184 |
Department Highest Salary |
[ Solution ] |
| 183 |
Customers Who Never Order |
[ Solution ] |
| 182 |
Duplicate Emails |
[ Solution ] |
| 181 |
Employees Earning More Than Their Managers |
[ Solution ] |
| 180 |
Consecutive Numbers |
[ Solution ] |
| 178 |
Rank Scores |
[ Solution ] |
| 177 |
Nth Highest Salary |
[ Solution ] |
| 176 |
Second Highest Salary |
[ Solution ] |
| 175 |
Combine Two Tables |
[ Solution ] |
| 170 |
Two Sum III - Data structure design |
[ Hash Table ] |
| 167 |
Two Sum II - Input array is sorted |
[ Two-pointer ] |
| 165 |
Compare version Numbers |
[ Lexicographical Order ] |
| 163 |
Missing Ranges |
[ Sorting ] |
| 161 |
One Edit Distance |
[ Short Java Code ] |
| 159 |
Longest Substring with At Most Two Distinct Characters |
[ Sliding-window ] |
| 158 |
Read N Characters Given Read4 II - Call multiple times |
[ Reader ] |
| 157 |
Read N Characters Given Read4 |
[ Reader ] |
| 156 |
Binary Tree Upside Down |
[ Post-order Traversal ] |
| 155 |
Min Stack |
[ More Memory, Shorter Code | As Little Memory as Possible ] |
| 152 |
Maximum Product Subarray |
[ Three Solutions ] |
| 151 |
Reverse Words in a String |
[ Java Solution | C In-place Solution ] |
| 146 |
LRU Cache |
[ Doubly Connected Linked List + Hash Table ] |
| 140 |
Word Break II |
[ DP + DFS ] |
| 139 |
Word Break |
[ Short DP | DP + Trie ] |
| 136 |
Single Number |
[ Xor | Randomized Partition ] |
| 128 |
Longest Consecutive Sequence |
[ O(n) HashSet ] |
| 127 |
Word Ladder |
[ BFS ] |
| 96 |
Unique Binary Search Trees |
[ DP ] |
| 79 |
Word Search |
[ DFS ] |
| 76 |
Minimum Window Substring |
[ Sliding-window ] |
| 72 |
Edit Distance |
[ DP ] |
| 47 |
Permutations II |
[ next_permutation ] |
| 44 |
Wildcard Matching |
[ DP | Greedy ] |
| 40 |
Combination Sum II |
[ DP Knapsack ] |
| 39 |
Combination Sum |
[ DP + Backtracking ] |
| 37 |
Sudoku Solver |
[ Greedy Backtracking Using Bitmask | Greedy Backtracking ] |
| 36 |
Valid Sudoku |
[ Solution ] |
| 22 |
Generate Parentheses |
[ DP | Recursion ] |
| 10 |
Regular Expression Matching |
[ DP ] |
| 4 |
Median of Two Sorted Arrays |
[ Binary Search ] |
| 2 |
Add Two Numbers |
[ Not in-place | In-place ] |
| 1 |
Two Sum |
[ Two Pointers | Hash Table ] |