| # |
Problem |
Solution |
Difficulty |
Topics |
Note |
| 1 |
Two Sum |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Hash Table
|
|
| 15 |
3Sum |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Sorting,
Two Pointers
|
|
| 16 |
3Sum Closest |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Sorting,
Two Pointers
|
|
| 26 |
Remove Duplicates from Sorted Array |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Two Pointers
|
|
| 27 |
Remove Element |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Two Pointers
|
|
| 36 |
Valid Sudoku |
Java
without or
with Hash Table
|
$\text{\color{Dandelion}Medium}$ |
Array,
Hash Table,
Matrix
|
|
| 37 |
Sudoku Solver |
Java
|
$\text{\color{Red}Hard}$ |
Array,
Backtracking,
Matrix
|
|
| 45 |
Jump Game II |
Dynamic Programming (Memoization),
Dynamic Programming (Tabulation) or
Greedy
|
$\text{\color{Dandelion}Medium}$ |
Array,
Dynamic Programming,
Greedy
|
|
| 46 |
Permutations |
Java with
Backtracking,
Iteration or
Recursion
|
$\text{\color{Dandelion}Medium}$ |
Array,
Backtracking
|
|
| 49 |
Group Anagrams |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Hash Table,
Sorting,
String
|
|
| 55 |
Jump Game |
Java with
Dynamic Programming or
Greedy
|
$\text{\color{Dandelion}Medium}$ |
Array,
Dynamic Programming,
Greedy
|
|
| 57 |
Insert Interval |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array
|
|
| 73 |
Set Matrix Zeroes |
Java with
Array,
Hash Table or
In-Place
|
$\text{\color{Dandelion}Medium}$ |
Array,
Hash Table,
Matrix
|
|
| 79 |
Word Search |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Backtracking,
Matrix
|
|
| 80 |
Remove Duplicates from Sorted Array II |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Two Pointers
|
|
| 88 |
Merge Sorted Array |
Java with
Sorting or
Two Pointers
|
$\text{\color{TealBlue}Easy}$ |
Array,
Sorting,
Two Pointers
|
|
| 121 |
Best Time to Buy and Sell Stock |
Java
with or
without Dynamic Programming
|
$\text{\color{TealBlue}Easy}$ |
Array,
Dynamic Programming
|
|
| 130 |
Surrounded Regions |
Java with
Breadth-First Search,
Depth-First Search or
Union Find
|
$\text{\color{Dandelion}Medium}$ |
Array,
Breadth-First Search,
Depth-First Search,
Matrix,
Union Find
|
|
| 134 |
Gas Station |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Greedy
|
|
| 136 |
Single Number |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Bit Manipulation
|
Stream Reduce
|
| 152 |
Maximum Product Subarray |
Java with
Array or
Dynamic Programming
|
$\text{\color{Dandelion}Medium}$ |
Array,
Dynamic Programming
|
|
| 167 |
Two Sum II - Input Array is Sorted |
Java with
Binary Search or
Two Pointers
|
$\text{\color{Dandelion}Medium}$ |
Array,
Binary Search,
Two Pointers
|
|
| 169 |
Majority Element |
Java with
Boyer-Moore Majority Voting Algorithm,
Counting & Divide and Conquer,
Counting & Hash Table or
Sorting
|
$\text{\color{TealBlue}Easy}$ |
Array,
Counting,
Divide and Conquer,
Hash Table,
Sorting
|
|
| 200 |
Number of Islands |
Java with
Breadth-First Search,
Depth-First Search or
Union Find
|
$\text{\color{Dandelion}Medium}$ |
Array,
Breadth-First Search,
Depth-First Search,
Matrix,
Union Find
|
|
| 217 |
Contains Duplicate |
Java with
Hash Map,
Hash Set or
Sorting
|
$\text{\color{TealBlue}Easy}$ |
Array,
Hash Table,
Sorting
|
|
| 219 |
Contains Duplicate II |
Java with
Hash Map or
Sliding Window
|
$\text{\color{TealBlue}Easy}$ |
Array,
Hash Table,
Sliding Window
|
|
| 220 |
Contains Duplicate III |
Java with
Sliding Window & Bucket Sort,
Sliding Window & Ordered Set or
Sorting
|
$\text{\color{Red}Hard}$ |
Array,
Bucket Sort,
Ordered Set,
Sliding Window,
Sorting
|
|
| 228 |
Summary Ranges |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array
|
|
| 229 |
Majority Element II |
Java with
Boyer-Moore Majority Voting Algorithm,
Counting & Hash Table or
Sorting
|
$\text{\color{Dandelion}Medium}$ |
Array,
Counting,
Hash Table,
Sorting
|
|
| 238 |
Product of Array Except Self |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Prefix Sum
|
|
| 274 |
H-Index |
Java with
Counting Sort and
Sorting
|
$\text{\color{TealBlue}Easy}$ |
Array,
Counting Sort,
Sorting
|
|
| 275 |
H-Index II |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Binary Search
|
|
| 283 |
Move Zeroes |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Two Pointers
|
|
| 334 |
Increasing Triplet Subsequence |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Greedy
|
|
| 368 |
Largest Divisible Subset |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Dynamic Programming,
Math,
Sorting
|
|
| 393 |
UTF-8 Validation |
Java
without or
with Bit Manipulation
|
$\text{\color{Dandelion}Medium}$ |
Array,
Bit Manipulation
|
|
| 414 |
Third Maximum Number |
Java
with Sorting,
without Sorting or with
Hash Table & Priority Queue
|
$\text{\color{TealBlue}Easy}$ |
Array,
Sorting
|
|
| 448 |
Find All Numbers Disappeared in an Array |
Java
with or
without Hash Table
|
$\text{\color{TealBlue}Easy}$ |
Array,
Hash Table
|
|
| 485 |
Maximum Consecutive Ones |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array
|
|
| 496 |
Next Greater Element I |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Hash Table,
Monotonic Stack,
Stack
|
|
| 503 |
Next Greater Element II |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Monotonic Stack,
Stack
|
|
| 523 |
Continuous Subarray Sum |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Hash Table,
Math,
Prefix Sum
|
|
| 560 |
Subarray Sum Equals K |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Hash Table,
Prefix Sum
|
|
| 561 |
Array Partition |
Java with
Greedy & Counting Sort or
Greedy & Sorting
|
$\text{\color{TealBlue}Easy}$ |
Array,
Counting Sort,
Greedy,
Sorting
|
|
| 609 |
Find Duplicate File in System |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Hash Table,
String
|
|
| 645 |
Set Mismatch |
Java with
Bit Manipulation,
Hash Table or
Sorting
|
$\text{\color{TealBlue}Easy}$ |
Array,
Bit Manipulation,
Hash Table,
Sorting
|
|
| 713 |
Subarray Product Less Than K |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Sliding Window
|
|
| 744 |
Find Smallest Letter Greater Than Target |
Java with
Linear Search or
Binary Search
|
$\text{\color{TealBlue}Easy}$ |
Array,
Binary Search
|
|
| 746 |
Min Cost Climbing Stairs |
Java with Dynamic Programming -
Tabulation or
Memoization
|
$\text{\color{TealBlue}Easy}$ |
Array,
Dynamic Programming
|
|
| 766 |
Toeplitz Matrix |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Matrix
|
Follow up:
One Row at a Time and
One Column at a Time
|
| 812 |
Largest Triangle Area |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Geometry,
Math
|
|
| 835 |
Image Overlap |
Java with
Bit Manipulation or
Hash Table
|
$\text{\color{Dandelion}Medium}$ |
Array,
Matrix
|
|
| 904 |
Fruit Into Baskets |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Hash Table,
Sliding Window
|
|
| 905 |
Sort Array By Parity |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Sorting,
Two Pointers
|
|
| 922 |
Sort Array By Parity II |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Sorting,
Two Pointers
|
|
| 923 |
3Sum With Multiplicity |
Java with
Counting
Hash Table or
Sorting & Two Pointers
|
$\text{\color{Dandelion}Medium}$ |
Array,
Counting,
Hash Table,
Sorting,
Two Pointers
|
|
| 929 |
Unique Email Addresses |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Hash Table,
String
|
|
| 941 |
Valid Mountain Array |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array
|
|
| 944 |
Delete Columns to Make Sorted |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
String
|
|
| 948 |
Bag of Tokens |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Greedy,
Sorting,
Two Pointers
|
|
| 953 |
Verifying an Alien Dictionary |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Hash Table,
String
|
|
| 974 |
Subarray Sums Divisible by K |
Java with
Counting or
Hash Table
|
$\text{\color{Dandelion}Medium}$ |
Array,
Hash Table,
Prefix Sum
|
|
| 976 |
Largest Perimeter Triangle |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Greedy,
Math,
Sorting
|
|
| 977 |
Squares of a Sorted Array |
Java with
Sorting or
Two Pointers
|
$\text{\color{TealBlue}Easy}$ |
Array,
Sorting,
Two Pointers
|
|
| 985 |
Sum of Even Numbers After Queries |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Simulation
|
|
| 989 |
Add to Array-Form of Integer |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Math
|
|
| 1019 |
Next Greater Node In Linked List |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Linked List,
Monotonic Stack,
Stack
|
|
| 1037 |
Valid Boomerang |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Geometry,
Math
|
|
| 1051 |
Height Checker |
Java with
Counting Sort or
Sorting
|
$\text{\color{TealBlue}Easy}$ |
Array,
Counting Sort,
Sorting
|
|
| 1089 |
Duplicate Zeros |
Java
without or
with Two Pointers
|
$\text{\color{TealBlue}Easy}$ |
Array,
Two Pointers
|
|
| 1122 |
Relative Sort Array |
Java with
Counting Sort or
Hash Table
|
$\text{\color{TealBlue}Easy}$ |
Array,
Counting Sort,
Hash Table,
Sorting
|
|
| 1207 |
Unique Number of Occurrences |
Java with
Counting & Sorting or
Hash Table
|
$\text{\color{TealBlue}Easy}$ |
Array,
Hash Table
|
|
| 1232 |
Check If It Is a Straight Line |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Geometry,
Math
|
|
| 1239 |
Maximum Length of a Concatenated String with Unique Characters |
Java with
Backtracking or
Bit Manipulation
|
$\text{\color{Dandelion}Medium}$ |
Array,
Backtracking,
Bit Manipulation,
String
|
|
| 1295 |
Find Numbers with Even Number of Digits |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array
|
|
| 1299 |
Replace Elements with Greatest Element on Right Side |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array
|
|
| 1337 |
The K Weakest Rows in a Matrix |
Java with
Linear Search,
Binary Search,
Heap (Priority Queue) & Binary Search or
Sorting & Binary Search
|
$\text{\color{TealBlue}Easy}$ |
Array,
Binary Search,
Heap (Priority Queue),
Matrix,
Sorting
|
|
| 1346 |
Check If N and Its Double Exist |
Java with
Binary Search & Sorting,
Hash Table or
Two Pointers
|
$\text{\color{TealBlue}Easy}$ |
Array,
Binary Search,
Hash Table,
Sorting,
Two Pointers
|
|
| 1351 |
Count Negative Numbers in a Sorted Matrix |
Java with
Linear Search or
Binary Search
|
$\text{\color{TealBlue}Easy}$ |
Array,
Binary Search,
Matrix
|
|
| 1470 |
Shuffle the Array |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array
|
|
| 1480 |
Running Sum of 1D Array |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Prefix Sum
|
|
| 1497 |
Check If Array Pairs Are Divisible by k |
Java with
Counting or
Hash Table
|
$\text{\color{Dandelion}Medium}$ |
Array,
Counting,
Hash Table
|
|
| 1534 |
Count Good Triplets |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Enumeration
|
|
| 1578 |
Minimum Time to Make Rope Colorful |
Java with
Dynamic Programming or
Greedy
|
$\text{\color{Dandelion}Medium}$ |
Array,
Dynamic Programming,
Greedy,
String
|
|
| 1636 |
Sort Array by Increasing Frequency |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Hash Table,
Sorting
|
|
| 1662 |
Check If Two String Arrays are Equivalent |
Java
with or
without Pointers
|
$\text{\color{TealBlue}Easy}$ |
Array,
String
|
|
| 1672 |
Richest Customer Wealth |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Matrix
|
|
| 1679 |
Max Number of K-Sum Pairs |
Java with
Hash Table or
Sorting & Two Pointers
|
$\text{\color{Dandelion}Medium}$ |
Array,
Hash Table,
Sorting,
Two Pointers
|
|
| 1711 |
Count Good Meals |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Hash Table
|
|
| 1732 |
Find the Highest Altitude |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Prefix Sum
|
|
| 1775 |
Equal Sum Arrays With Minimum Number of Operations |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Counting,
Greedy
|
|
| 1814 |
Count Nice Pairs in an Array |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Counting,
Hash Table,
Math
|
|
| 1833 |
Maximum Ice Cream Bars |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Greedy,
Sorting
|
|
| 1834 |
Single-Threaded CPU |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Heap (Priority Queue),
Sorting
|
|
| 1865 |
Finding Pairs With a Certain Sum |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Design,
Hash Table
|
|
| 1920 |
Build Array from Permutation |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Simulation
|
|
| 1926 |
Nearest Exit from Entrance in Maze |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Breadth-First Search,
Matrix
|
|
| 1962 |
Remove Stones to Minimize the Total |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Heap (Priority Queue)
|
|
| 1979 |
Find Greatest Common Divisor of Array |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Math,
Number Theory
|
|
| 1995 |
Count Special Quadruplets |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Enumeration
|
Solution Using
Hash Table
|
| 2006 |
Count Number of Pairs With Absolute Difference K |
Java with
Brute Force,
Counting or
Hash Table
|
$\text{\color{TealBlue}Easy}$ |
Array,
Counting,
Hash Table
|
|
| 2007 |
Find Original Array From Doubled Array |
Java with
Hash Table,
Queue or
Counting Array
|
$\text{\color{Dandelion}Medium}$ |
Array,
Greedy,
Hash Table,
Sorting
|
|
| 2023 |
Number of Pairs of Strings With Concatenation Equal to Target |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
String
|
|
| 2028 |
Find Missing Observations |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Math,
Simulation
|
|
| 2131 |
Longest Palindrome by Concatenating Two Letter Words |
Java with
Counting or
Hash Table
|
$\text{\color{Dandelion}Medium}$ |
Array,
Counting,
Greedy,
Hash Table,
String
|
|
| 2133 |
Check if Every Row and Column Contains All Numbers |
Java
without or
with Hash Table
|
$\text{\color{TealBlue}Easy}$ |
Array,
Hash Table,
Matrix
|
|
| 2136 |
Earliest Possible Day of Full Bloom |
Java
|
$\text{\color{Red}Hard}$ |
Array,
Greedy,
Sorting
|
|
| 2176 |
Count Equal and Divisible Pairs in an Array |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array
|
|
| 2244 |
Minimum Rounds to Complete All Tasks |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Counting,
Greedy,
Hash Table
|
|
| 2279 |
Maximum Bags With Full Capacity of Rocks |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Greedy,
Sorting
|
|
| 2352 |
Equal Row and Column Pairs |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Hash Table,
Matrix,
Simulation
|
|
| 2389 |
Longest Subsequence With Limited Sum |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Binary Search,
Greedy,
Prefix Sum,
Sorting
|
|
| 2395 |
Find Subarrays With Equal Sum |
Java
|
$\text{\color{TealBlue}Easy}$ |
Array,
Hash Table
|
|
| 2399 |
Check Distances Between Same Letters |
Java
without or
with Hash Table
|
$\text{\color{TealBlue}Easy}$ |
Array,
Hash Table,
String
|
|
| 2438 |
Range Product Queries of Powers |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Bit Manipulation,
Prefix Sum
|
|
| 2452 |
Words Within Two Edits of Dictionary |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
String
|
|
| 2453 |
Destroy Sequential Targets |
Java
|
$\text{\color{Dandelion}Medium}$ |
Array,
Counting,
Hash Table
|
|
| 2454 |
Next Greater Element IV |
Java
|
$\text{\color{Red}Hard}$ |
Array,
Monotonic Stack,
Stack
|
|