| Array |
Two Sums I |
LeetCode |
1 |
Easy |
| Array |
Median of Two Sorted Arrays |
LeetCode |
4 |
Hard |
| Array |
Container With Most Water |
LeetCode |
11 |
Medium |
| Array |
3Sum |
LeetCode |
15 |
Medium |
| Array |
3Sum Closest |
LeetCode |
16 |
Medium |
| Array |
4Sum |
LeetCode |
18 |
Medium |
| Array |
Remove Duplicates from Sorted Array |
LeetCode |
26 |
Easy |
| Array |
Search in Rotated Sorted Array |
LeetCode |
33 |
Medium |
| Array |
Maximum Subarray |
LeetCode |
53 |
Easy |
| Array |
Merge Intervals |
LeetCode |
56 |
Medium |
| Array |
Insert Interval |
LeetCode |
57 |
Hard |
| Array |
Plus One |
LeetCode |
66 |
Easy |
| Array |
Sort Colors |
LeetCode |
75 |
Medium |
| Array |
Best Time to Buy and Sell Stock |
LeetCode |
121 |
Easy |
| Array |
Best Time to Buy and Sell Stock II |
LeetCode |
122 |
Easy |
| Array |
Gas Station |
LeetCode |
134 |
Medium |
| Array |
Maximum Product Subarray |
LeetCode |
152 |
Medium |
| Array |
Two Sum II - Sorted Array |
LeetCode |
167 |
Medium |
| Array |
Minimum Size Subarray Sum |
LeetCode |
209 |
Medium |
| Array |
Product of Array Except Self |
LeetCode |
238 |
Medium |
| Array |
Find the Duplicate Number |
LeetCode |
287 |
Medium |
| Array |
Random Pick Index |
LeetCode |
398 |
Medium |
| Array |
Non-overlapping Intervals |
LeetCode |
435 |
Medium |
| Array |
4Sum II |
LeetCode |
454 |
Medium |
| Array |
Random Pick with Weight |
LeetCode |
528 |
Medium |
| Array |
Binary Search |
LeetCode |
704 |
Easy |
| Array |
Hand of Straights |
LeetCode |
846 |
Medium |
| Array |
Maximize Distance to Closest Person |
LeetCode |
849 |
Medium |
| Array |
Koko Eating Bananas |
LeetCode |
875 |
Medium |
| Array |
Sort Array By Parity |
LeetCode |
905 |
Easy |
| Array |
Interval List Intersections |
LeetCode |
986 |
Medium |
| Array |
Find Common Characters |
LeetCode |
1002 |
Easy |
| Array |
Cutting Ribbons |
LeetCode |
1891 |
Medium |
| Array |
Merge Triplets to Form Target Triplet |
LeetCode |
1899 |
Medium |
| Array |
Eliminate Maximum Monsters |
LeetCode |
1921 |
Medium |
| Array |
Number of Zero-Filled Subarrays |
LeetCode |
2348 |
Medium |
| Array |
Divide Array Into Arrays With Max Difference |
LeetCode |
2966 |
Medium |
| Array |
Minimum Operations to Make Binary Array Elements Equal to One I |
LeetCode |
3191 |
Medium |
| Array |
Shortest Word Distance |
LeetCode |
- |
Easy |
| Array |
Count Elements Greater Than Previous Average |
HackerRank |
- |
Easy |
| Array |
Count Number Pairs |
HackerRank |
- |
Easy |
| Array |
Merge and Sort Intervals |
HackerRank |
- |
Medium |
| Array |
Max Gain |
Firecode |
- |
Easy |
| Array |
Maximum Number of Repetitions |
Firecode |
- |
Medium |
| Array |
Selection Sort Array |
Firecode |
- |
Easy |
| Array |
Two Sum II - Boolean |
Other |
- |
Easy |
| Array |
Two Sum V |
Other |
- |
Medium |
| Array |
Retrieve Elements K Times |
Other |
- |
Easy |
| Array |
Quick Sort Array |
Interview |
- |
Medium |
| Matrix |
Valid Sudoku |
LeetCode |
36 |
Medium |
| Matrix |
Rotate Image |
LeetCode |
48 |
Medium |
| Matrix |
Spiral Matrix |
LeetCode |
54 |
Medium |
| Matrix |
Set Matrix Zeroes |
LeetCode |
73 |
Medium |
| Matrix |
Search a 2D Matrix |
LeetCode |
74 |
Medium |
| Matrix |
Surrounded Regions |
LeetCode |
130 |
Medium |
| Matrix |
Number of Islands |
LeetCode |
200 |
Medium |
| Matrix |
Search a 2D Matrix II |
LeetCode |
240 |
Medium |
| Matrix |
Walls and Gates |
LeetCode |
286 |
Medium |
| Matrix |
Best Meeting Point |
LeetCode |
296 |
Hard |
| Matrix |
Design Tic-Tac-Toe |
LeetCode |
348 |
Medium |
| Matrix |
Pacific Atlantic Water Flow |
LeetCode |
417 |
Medium |
| Matrix |
Battleships in a Board |
LeetCode |
419 |
Medium |
| Matrix |
01 Matrix |
LeetCode |
542 |
Medium |
| Matrix |
Brick Wall |
LeetCode |
554 |
Medium |
| Matrix |
Rotting Oranges |
LeetCode |
994 |
Medium |
| Matrix |
Detect Squares |
LeetCode |
2013 |
Medium |
| Tree |
Binary Tree Inorder Traversal |
LeetCode |
94 |
Easy |
| Tree |
Validate Binary Search Tree |
LeetCode |
98 |
Medium |
| Tree |
Binary Tree Level Order Traversal |
LeetCode |
102 |
Medium |
| Tree |
Binary Tree Level Order Traversal II |
LeetCode |
107 |
Medium |
| Tree |
Balanced Binary Tree |
LeetCode |
110 |
Easy |
| Tree |
Minimum Depth of Binary Tree |
LeetCode |
111 |
Easy |
| Tree |
Path Sum |
LeetCode |
112 |
Easy |
| Tree |
Populating Next Right Pointers in Each Node |
LeetCode |
116 |
Medium |
| Tree |
Binary Tree Preorder Traversal |
LeetCode |
144 |
Easy |
| Tree |
Binary Tree Postorder Traversal |
LeetCode |
145 |
Easy |
| Tree |
Binary Tree Upside Down |
LeetCode |
156 |
Medium |
| Tree |
Implement Trie (Prefix Tree) |
LeetCode |
208 |
Medium |
| Tree |
Kth Smallest Element in a BST |
LeetCode |
230 |
Medium |
| Tree |
Lowest Common Ancestor of a Binary Search Tree |
LeetCode |
235 |
Medium |
| Tree |
Lowest Common Ancestor of a Binary Tree |
LeetCode |
236 |
Medium |
| Tree |
Count Univalue Subtrees |
LeetCode |
250 |
Medium |
| Tree |
Inorder Successor in BST |
LeetCode |
285 |
Medium |
| Tree |
Serialize and Deserialize Binary Tree |
LeetCode |
297 |
Hard |
| Tree |
Binary Tree Longest Consecutive Sequence |
LeetCode |
298 |
Medium |
| Tree |
Find Leaves of Binary Tree |
LeetCode |
366 |
Medium |
| Tree |
Diameter of Binary Tree |
LeetCode |
543 |
Easy |
| Tree |
Subtree of Another Tree |
LeetCode |
572 |
Easy |
| Tree |
Two Sum IV - BST |
LeetCode |
653 |
Easy |
| Tree |
Count Good Nodes in Binary Tree |
LeetCode |
1448 |
Medium |
| Tree |
Height of Binary Search Tree |
HackerRank |
- |
Easy |
| Graph |
Clone Graph |
LeetCode |
133 |
Medium |
| Graph |
Course Schedule |
LeetCode |
207 |
Medium |
| Graph |
Course Schedule II |
LeetCode |
210 |
Medium |
| Graph |
Graph Valid Tree |
LeetCode |
261 |
Medium |
| Graph |
Alien Dictionary |
LeetCode |
269 |
Hard |
| Graph |
Number of Connected Components in an Undirected Graph |
LeetCode |
323 |
Medium |
| Graph |
Accounts Merge |
LeetCode |
721 |
Medium |
| Graph |
Network Delay Time |
LeetCode |
743 |
Medium |
| Graph |
Distance of Nearest Cell Having 1 |
Other |
- |
Medium |
| Graph |
Graph Serialization |
Other |
- |
Unclassified |
| Graph |
Hardware Build Feasibility |
Interview |
- |
Medium |
| Linked List |
Add Two Numbers |
LeetCode |
2 |
Medium |
| Linked List |
Remove Nth Node From End |
LeetCode |
19 |
Medium |
| Linked List |
Merge Two Sorted Lists |
LeetCode |
21 |
Easy |
| Linked List |
Merge k Sorted Lists |
LeetCode |
23 |
Hard |
| Linked List |
Reverse Nodes in k-Group |
LeetCode |
25 |
Hard |
| Linked List |
Remove Duplicates from Sorted List |
LeetCode |
83 |
Easy |
| Linked List |
Reverse Linked List II |
LeetCode |
92 |
Medium |
| Linked List |
Copy List with Random Pointer |
LeetCode |
138 |
Medium |
| Linked List |
Linked List Cycle |
LeetCode |
141 |
Easy |
| Linked List |
Linked List Cycle II |
LeetCode |
142 |
Medium |
| Linked List |
Reorder List |
LeetCode |
143 |
Medium |
| Linked List |
Insertion Sort List |
LeetCode |
147 |
Medium |
| Linked List |
Sort List |
LeetCode |
148 |
Medium |
| Linked List |
Intersection of Two Linked Lists |
LeetCode |
160 |
Easy |
| Linked List |
Reverse Linked List |
LeetCode |
206 |
Easy |
| Linked List |
Palindrome Linked List |
LeetCode |
234 |
Easy |
| Linked List |
Odd Even Linked List |
LeetCode |
328 |
Medium |
| Linked List |
Merge In Between Linked Lists |
LeetCode |
1669 |
Medium |
| Linked List |
One-Pass Removal of k-th Node from End |
HackerRank |
- |
Medium |
| Linked List |
Reverse Even-Indexed Nodes and Append |
HackerRank |
- |
Medium |
| Linked List |
Insert Node at Position in Doubly Linked List |
Other |
- |
Easy |
| Stack and Queue |
Longest Valid Parentheses |
LeetCode |
32 |
Hard |
| Stack and Queue |
Evaluate Reverse Polish Notation |
LeetCode |
150 |
Medium |
| Stack and Queue |
Min Stack |
LeetCode |
155 |
Medium |
| Stack and Queue |
Implement Queue using Stacks |
LeetCode |
232 |
Easy |
| Stack and Queue |
Task Scheduler |
LeetCode |
621 |
Medium |
| Stack and Queue |
Daily Temperatures |
LeetCode |
739 |
Medium |
| Stack and Queue |
Car Fleet |
LeetCode |
853 |
Medium |
| Stack and Queue |
Maximum Score From Removing Substrings |
LeetCode |
1717 |
Medium |
| Stack and Queue |
Validate Properly Nested Brackets |
HackerRank |
- |
Easy |
| Stack and Queue |
Next Greater Element with Position Offset |
HackerRank |
- |
Medium |
| Stack and Queue |
Lock-Free Stack Using Linked List (CAS) |
Interview |
- |
Easy |
| Heap |
Find kth Largest Element |
LeetCode |
215 |
Medium |
| Heap |
Meeting Rooms II |
LeetCode |
253 |
Medium |
| Heap |
Find Median from Data Stream |
LeetCode |
295 |
Hard |
| Heap |
Top K Frequent Elements |
LeetCode |
347 |
Medium |
| Heap |
K Closest Points to Origin |
LeetCode |
973 |
Medium |
| Heap |
Last Stone Weight |
LeetCode |
1046 |
Easy |
| Heap |
Top K Frequent Events with Order Preservation |
HackerRank |
- |
Medium |
| Heap |
Merge K Sorted Arrays |
Interview |
- |
Medium |
| Heap |
Top K Elements |
Interview |
- |
Medium |
| Heap |
VIP Customer Scheduler |
Interview |
- |
Medium |
| String Manipulation |
Longest Substring Without Repeating |
LeetCode |
3 |
Medium |
| String Manipulation |
String to Integer (atoi) |
LeetCode |
8 |
Medium |
| String Manipulation |
Longest Common Prefix |
LeetCode |
14 |
Easy |
| String Manipulation |
Group Anagrams |
LeetCode |
49 |
Medium |
| String Manipulation |
Word Ladder |
LeetCode |
127 |
Medium |
| String Manipulation |
Design Add and Search Words Data Structure |
LeetCode |
211 |
Medium |
| String Manipulation |
Encode and Decode Strings |
LeetCode |
271 |
Medium |
| String Manipulation |
Ransom Note |
LeetCode |
383 |
Easy |
| String Manipulation |
Longest Palindrome |
LeetCode |
409 |
Easy |
| String Manipulation |
Longest Repeating Character Replacement |
LeetCode |
424 |
Medium |
| String Manipulation |
Find All Anagrams in a String |
LeetCode |
438 |
Medium |
| String Manipulation |
Sort Characters By Frequency |
LeetCode |
451 |
Medium |
| String Manipulation |
Permutation in String |
LeetCode |
567 |
Medium |
| String Manipulation |
Valid Palindrome II |
LeetCode |
680 |
Easy |
| String Manipulation |
Verifying an Alien Dictionary |
LeetCode |
953 |
Easy |
| String Manipulation |
Minimum Number of Steps to Make Two Strings Anagram |
LeetCode |
1347 |
Medium |
| String Manipulation |
Number of Substrings All Three Chars |
LeetCode |
1358 |
Medium |
| String Manipulation |
Check Palindrome by Filtering Non-Letters |
HackerRank |
- |
Easy |
| String Manipulation |
Max Unique Substring Length in a Session |
HackerRank |
- |
Medium |
| String Manipulation |
Binary Representation |
Firecode |
- |
Easy |
| String Manipulation |
Insert Stars |
Firecode |
- |
Easy |
| String Manipulation |
First Non-Repeated Character |
Interview |
- |
Easy |
| Math |
Reverse Integer |
LeetCode |
7 |
Medium |
| Math |
Pow(x; n) |
LeetCode |
50 |
Medium |
| Math |
Single Number |
LeetCode |
136 |
Easy |
| Math |
Reverse Bits |
LeetCode |
190 |
Easy |
| Math |
Number of 1 Bits |
LeetCode |
191 |
Easy |
| Math |
Happy Number |
LeetCode |
202 |
Easy |
| Math |
Count Primes |
LeetCode |
204 |
Easy |
| Math |
Sum of Two Integers |
LeetCode |
371 |
Medium |
| Math |
Implement Rand10() Using Rand7() |
LeetCode |
470 |
Medium |
| Math |
Power of Two |
Firecode |
- |
Easy |
| Interactive |
First Bad Version |
LeetCode |
278 |
Easy |
| Interactive |
Guess the Word |
LeetCode |
843 |
Hard |
| Advanced Data Structure |
Design LRU Cache |
LeetCode |
146 |
Medium |
| Advanced Data Structure |
Design Twitter |
LeetCode |
355 |
Medium |
| Advanced Data Structure |
Design HashSet |
LeetCode |
705 |
Easy |
| Advanced Data Structure |
Design HashMap |
LeetCode |
706 |
Easy |
| Advanced Data Structure |
My Calendar I |
LeetCode |
729 |
Medium |
| Advanced Data Structure |
Time Based Key-Value Store |
LeetCode |
981 |
Medium |
| Advanced Data Structure |
Simple Bank System |
LeetCode |
2043 |
Medium |
| Advanced Data Structure |
Implement Stack Using Queues |
Interview |
- |
Easy |
| Advanced Data Structure |
Implement Queue |
Interview |
- |
Easy |
| Dynamic Programming and Backtracking |
Longest Palindromic Substring |
LeetCode |
5 |
Medium |
| Dynamic Programming and Backtracking |
Letter Combinations of a Phone Number |
LeetCode |
17 |
Medium |
| Dynamic Programming and Backtracking |
Combination Sum |
LeetCode |
39 |
Medium |
| Dynamic Programming and Backtracking |
Permutations |
LeetCode |
46 |
Medium |
| Dynamic Programming and Backtracking |
Permutations II |
LeetCode |
47 |
Medium |
| Dynamic Programming and Backtracking |
Unique Paths |
LeetCode |
62 |
Medium |
| Dynamic Programming and Backtracking |
Minimum Path Sum |
LeetCode |
64 |
Medium |
| Dynamic Programming and Backtracking |
Climbing Stairs |
LeetCode |
70 |
Easy |
| Dynamic Programming and Backtracking |
Subsets |
LeetCode |
78 |
Medium |
| Dynamic Programming and Backtracking |
Word Search |
LeetCode |
79 |
Medium |
| Dynamic Programming and Backtracking |
Subsets II |
LeetCode |
90 |
Medium |
| Dynamic Programming and Backtracking |
Decode Ways |
LeetCode |
91 |
Medium |
| Dynamic Programming and Backtracking |
Pascal’s Triangle |
LeetCode |
118 |
Easy |
| Dynamic Programming and Backtracking |
Word Break |
LeetCode |
139 |
Medium |
| Dynamic Programming and Backtracking |
House Robber |
LeetCode |
198 |
Easy |
| Dynamic Programming and Backtracking |
Maximal Square |
LeetCode |
221 |
Medium |
| Dynamic Programming and Backtracking |
Paint House |
LeetCode |
256 |
Easy |
| Dynamic Programming and Backtracking |
Longest Increasing Subsequence |
LeetCode |
300 |
Medium |
| Dynamic Programming and Backtracking |
Best Time to Buy and Sell Stock with Cooldown |
LeetCode |
309 |
Medium |
| Dynamic Programming and Backtracking |
Coin Change |
LeetCode |
322 |
Medium |
| Dynamic Programming and Backtracking |
Coin Change II |
LeetCode |
518 |
Medium |
| Dynamic Programming and Backtracking |
Palindromic Substrings |
LeetCode |
647 |
Medium |
| Dynamic Programming and Backtracking |
Minimum Swaps Sequences Increasing |
LeetCode |
801 |
Medium |
| Dynamic Programming and Backtracking |
Count Square Submatrices with All Ones |
LeetCode |
1277 |
Medium |
| Dynamic Programming and Backtracking |
Find Index Combinations with Target Weight Sum |
HackerRank |
- |
Medium |
| Dynamic Programming and Backtracking |
Minimum Plans to Reach Target Bandwidth |
HackerRank |
- |
Medium |
| Dynamic Programming and Backtracking |
Generate Valid Angle Bracket Sequences |
HackerRank |
- |
Easy |
| Dynamic Programming and Backtracking |
Custom Fibonacci Sequence |
HackerRank |
- |
Easy |
| Dynamic Programming and Backtracking |
Retrieve Optimal Computation |
Firecode |
- |
Medium |
| Dynamic Programming and Backtracking |
Fibonacci Sequence |
Firecode |
- |
Easy |
| Dynamic Programming and Backtracking |
Longest Common Substring |
Interview |
- |
Medium |
| Dynamic Programming and Backtracking |
Minimum Operations to One |
Interview |
- |
Medium |