# |
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
|
|