| 1 |
First Bad Version |
First Bad Version |
Easy |
Array |
Binary Search |
O(logn) |
O(1) |
15-30 min |
| 2 |
Jewels and Stones |
Jewels and Stones |
Easy |
HashMap |
frequency counting |
O(n) |
O(n) |
15-30 min |
| 3 |
Ransom Note |
Ransome Note |
Easy |
Array |
Char Frequency Counting |
O(n) |
O(1) |
15-30 min |
| 4 |
Number Complement |
Number Complement |
Easy |
NA |
Bit Manipulation |
O(log(v) , v= value of number |
O(1) |
15-30 min |
| 5 |
First Unique Character in a String |
First Unique Character in a String |
Easy |
HashMap |
Frequency Counting |
O(n) |
O(n) |
10 min |
| 6 |
Majority Element |
Majority Element |
Easy |
NA |
Boyer Moore Algorithm |
O(n) |
O(1) |
30-45 min |
| 7 |
Cousins in Binary Tree |
Cousins in Binary Tree |
Easy |
NA |
NA |
O(n) |
O(log(n)) Resursive stack |
15-30 min |
| 8 |
Check If It Is a Straight Line |
Check If It Is a Straight Line |
Easy |
NA |
Slope of a line |
O(n) |
O(1) |
15-20 min |
| 9 |
Valid Perfect Square |
Valid Perfect Square |
Easy |
NA |
Binary Search |
O(logn) |
O(1) |
15-30 min |
| 10 |
Find the Town Judge |
Find the Town Judge |
Easy |
NA |
NA |
O(n) |
O(n) |
15-30min |
| 11 |
Flood Fill |
Flood Fill |
Easy |
Graph |
Graph Traversal BFS/DFS |
O(n) |
O(n) |
30 min |
| 12 |
Single Element in a Sorted Array |
Single Element in a Sorted Array |
Easy |
NA |
Two pointer Algo |
O(logn) |
O(1) |
15-30 min |
| 13 |
Remove K Digits |
Remove K Digits |
Easy |
NA |
Greedy Algorithm |
O(kn) |
O(1) |
30-45 min |
| 14 |
Implement Trie (Prefix Tree) |
Implement Trie (Prefix Tree) |
Medium |
Trie |
NA |
O(m) |
O(m) |
30-45 min |
| 15 |
Maximum Sum Circular Subarray |
Maximum Sum Circular Subarray |
Medium |
NA |
Kadane's Algorithm |
O(n) |
O(1) |
45 min |
| 16 |
Odd Even Linked List |
Odd Even Linked List |
Easy |
Linked List |
NA |
O(n) |
O(1) |
15-30 min |
| 17 |
Find All Anagrams in a String |
Find All Anagrams in a String |
Medium |
NA |
Sliding Window |
O(n) |
O(1) |
45 min |
| 18 |
Permutation in String |
Permutation in String |
Easy |
NA |
Sliding Window |
O(n) |
O(1) |
30min |
| 19 |
Online Stock Span |
Online Stock Span |
Easy |
Stack |
NA |
O(n) |
O(n) |
30min |
| 20 |
Kth Smallest Element in a BST |
Kth Smallest Element in a BST |
Medium |
NA |
Modified Inorder Traversal |
O(n) |
O(n) |
30min |
| 21 |
Count Square Submatrices with All Ones |
Count Square Submatrices with All Ones |
Medium |
NA |
Dynamic Programming |
O(n*m) |
O(n*m) |
45min |
| 22 |
Sort Characters By Frequency |
Sort Characters By Frequency |
Easy |
HashMap, Priority Queue |
NA |
O(nlogn) |
O(n) |
30min |
| 23 |
Interval List Intersections |
Interval List Intersections |
Easy |
NA |
NA |
O(n) |
O(n) |
30min |
| 24 |
Construct Binary Search Tree from Preorder Traversal |
Construct Binary Search Tree from Preorder Traversal |
Medium |
NA |
NA |
O(nlog) |
O(1) |
45min |
| 25 |
Uncrossed Lines |
Uncrossed Lines |
Medium |
NA |
Dynamic Programming |
O(nm) n and m are size of Array A & B |
O(nm) n and m are size of Array A & B |
45 min |
| 26 |
Contiguous Array |
Contiguous Array |
Medium |
HashMap |
NA |
O(n) |
O(n) |
45 min |
| 27* |
Possible Bipartition |
Possible Bipartition |
Medium |
NA |
Graph Colouring |
O(V+E) |
O(V) |
1 hr |
| 28 |
Counting Bits |
Counting Bits |
Easy |
NA |
Bit Manipulation |
O(n) |
O(n) |
30min |
| 29 |
Course Schedule |
Course Schedule |
Medium |
NA |
Kahn's Algorithm |
O(V+E) |
O(V) |
45 min |
| 30 |
K Closest Points to Origin |
K Closest Points to Origin |
Easy |
Priority Queue |
NA |
O((n-k)logk) , n is the number of points |
O(n) , n is the number of points |
30min |
| 31 |
Edit Distance |
Edit Distance |
Hard |
NA |
String Edit Distance |
O(m*n) where m and n are length of two string |
O(m*n) where m and n are length of two string |
45 min |
|
|
|
|
|
|
|
|
|