| Day | Problem Statement | Solution | Difficulty | Data Structure Used | Algorithm used | Time Complexity | Space Complexity | Ideal Time to Solve | 
|---|---|---|---|---|---|---|---|---|
| 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 | 
| Day | Problem Statement | Solution | Difficulty | Data Structure Used | Algorithm used | Time Complexity | Space Complexity | 
|---|---|---|---|---|---|---|---|
| 1 | Invert Binary Tree | Invert Binary Tree | Easy | Binary Tree | NA | O(n) | O(n) | 
| 2 | Delete A Node in a LinkedList | Delete A Node in a LinkedList | Easy | LinkedList | NA | O(1) | O(1) | 
| 3* | Two City Scheduling | Two City Scheduling | Easy | Priority Queue | NA | O(nlogn) | O(n) | 
| 4 | Reverse String | Reverse String | Easy | NA | Two Pointer | O(n) | O(1) | 
| Day | Problem Statement | Solution | Difficulty | Data Structure Used | Algorithm used | Time Complexity | Space Complexity | Additional Reading | 
|---|---|---|---|---|---|---|---|---|
| 4 | Hamming Distance | Hamming Distance | Easy | NA | Bit Manipulation | O(1) | O(1) | https://www.techiedelight.com/brian-kernighans-algorithm-count-set-bits-integer/ | 
| 5 | Plus One | Plus One | Easy | NA | NA | O(N) | O(1) | Back To Back SWE | 
| Day | Problem Statement | Solution | Difficulty | Data Structure Used | Algorithm used | Time Complexity | Space Complexity | Additional Reading | 
|---|---|---|---|---|---|---|---|---|
| 1 | Hamming Distance | Hamming Distance | Easy | NA | Bit Manipulation | O(1) | O(1) | https://www.techiedelight.com/brian-kernighans-algorithm-count-set-bits-integer/ | 
| 2 | Plus One | Plus One | Easy | NA | NA | O(N) | O(1) | Back To Back SWE | 
| 3 | Valid Palindrome | Plus One | Easy | NA | NA | O(N) | O(1) | |
| 4 | Plus One | Plus One | Easy | NA | NA | O(N) | O(1) | Back To Back SWE | 
| Day | Problem Statement | Solution | Difficulty | Data Structure Used | Algorithm used | Time Complexity | Space Complexity | Additional Reading | 
|---|---|---|---|---|---|---|---|---|
| 15 | 189. Rotate Array | Java | Easy | String | O(N) | O(1) | ||
| 17 | 187. Repeated DNA Sequences | Java | Easy | String | O(N) | O(N) | 
| Day | Problem Statement | Solution | Difficulty | Data Structure Used | Algorithm used | Time Complexity | Space Complexity | Additional Reading | 
|---|---|---|---|---|---|---|---|---|
| 6 | 1283. Find the Smallest Divisor Given a Threshold | Java | Medium | Binary Search | O(NlogM) | O(1) | Discuss DiscussBinary Search 101 | |
| 12 | 47. Permutations II | Java | Medium | Backtracing | Discuss | 
| Day | Problem Statement | Solution | Difficulty | Data Structure Used | Algorithm used | Time Complexity | Space Complexity | 
|---|---|---|---|---|---|---|---|
| 1 | 442. Find All Duplicates in an Array | Java | Medium | NA | NA | O(n) | O(1) | 
| 2 | 863. All Nodes Distance K in Binary Tree | ||||||
| 3 | 938. Range Sum of BST | ||||||
| 4 | 863. All Nodes Distance K in Binary Tree | ||||||
| 5 | 863. All Nodes Distance K in Binary Tree | ||||||
| 6 | 863. All Nodes Distance K in Binary Tree |