Goal: Solve 1 problem daily from the LeetCode Top Interview 150 list to master coding interview patterns.
| Metric | Value |
|---|---|
| 🧠 Total Problems | 150 |
| 🎯 Daily Target | 1 problem/day |
| 🗓️ Timeframe | 150 days |
✅ Solved: 43/150 (29%)
⏳ Remaining: 107/150
📅 Current Streak: 43 days
| Day | Problem No. | Difficulty | Solution | Approach | Time/Space |
|---|---|---|---|---|---|
| 1 | 88. Merge Sorted Array | Easy | Code | Three‑pointer reverse merge | O(m+n) / O(1) |
| 2 | 27. Remove Element | Easy | Code | Forward overwrite valid elements | O(n) / O(1) |
| 3 | 26. Remove Duplicates from Sorted Array | Easy | Code | Two‑pointer overwrite unique values | O(n) / O(1) |
| 4 | 80. Remove Duplicates from Sorted Array II | Medium | Code | Two‑pointer limit to 2 occurrences | O(n) / O(1) |
| 5 | 169. Majority Element | Easy | Code | Boyer‑Moore Voting Algorithm | O(n) / O(1) |
| 6 | 189. Rotate Array | Medium | Code | Reverse entire + parts to rotate | O(n) / O(1) |
| 7 | 121. Best Time to Buy and Sell Stock | Easy | Code | Track min price + max profit | O(n) / O(1) |
| 8 | 122. Best Time to Buy and Sell Stock II | Medium | Code | Greedy or DP (buy low, sell high) | O(n) / O(1) or O(n) |
| 9 | 55. Jump Game | Medium | Code | Greedy (max reachable index) | O(n) / O(1) |
| 10 | 45. Jump Game II | Medium | Code | Greedy (range end triggers jump) | O(n) / O(1) |
| 11 | 274. H-Index | Medium | Code | Sort & binary search | O(n log n) / O(1) |
| 12 | 380. Insert Delete GetRandom O(1) | Medium | Code | HashMap + ArrayList | O(1) avg / O(n) |
| 13 | 238. Product of Array Except Self | Medium | Code | Prefix × suffix pass | O(n) / O(1) |
| 14 | 134. Gas Station | Medium | Code | Greedy reset when tank < 0 | O(n) / O(1) |
| 15 | 135. Candy | Hard | Code | Two‑pass greedy on ratings | O(n) / O(n) |
| 16 | 42. Trapping Rain Water | Hard | Code | Prefix‑suffix max arrays (or two‑pointer) | O(n) / O(n) |
| 17 | 13. Roman to Integer | Easy | Code | Right-to-left subtraction logic | O(n) / O(1) |
| 18 | 12. Integer to Roman | Medium | Code | Greedy subtract + symbol map | O(1) / O(1) |
| 19 | 58. Length of Last Word | Easy | Code | Reverse scan + skip spaces | O(n) / O(1) |
| 20 | 14. Longest Common Prefix | Easy | Code | Vertical scan | O(m*n) / O(1) |
| 21 | 151. Reverse Words in a String | Medium | Code | Two-pointer reverse traversal + trimming | O(n) / O(n) |
| 22 | 6. Zigzag Conversion | Medium | Code | Simulate zigzag filling rows | O(n) / O(n) |
| 23 | 28. Find the Index of the First Occurrence in a String | Easy | Code | Java indexOf() or manual match |
O(n * m) / O(1) |
| 24 | 68. Text Justification | Hard | Code | Greedy line packing + space distribution | O(n) / O(1) |
| 25 | 125. Valid Palindrome | Easy | Code | Two-pointer with character filtering | O(n) / O(1) |
| 26 | 392. Is Subsequence | Easy | Code | Two-pointer character match | O(n) / O(1) |
| 27 | 167. Two Sum II - Input Array Is Sorted | Medium | Code | Two-pointer from both ends | O(n) / O(1) |
| 28 | 11. Container With Most Water | Medium | Code | Two-pointer maximize area | O(n) / O(1) |
| 29 | 15. 3Sum | Medium | Code | Sort + Two-pointer + Skip duplicates | O(n²) / O(log n) or O(n) |
| 30 | 209. Minimum Size Subarray Sum | Medium | Code | Sliding window (expand/shrink window) | O(n) / O(1) |
| 31 | 3. Longest Substring Without Repeating Characters | Medium | Code | Sliding window + HashSet | O(n) / O(min(n, m)) |
| 32 | 30. Substring with Concatenation of All Words | Hard | Code | Sliding window with hashmap | O(n * k) / O(n + k) |
| 33 | 76. Minimum Window Substring | Hard | Code | Sliding window + counter map | O(n) / O(k) |
| 34 | 36. Valid Sudoku | Medium | Code | Set validation per row/col/box | O(1) / O(1) |
| 35 | 54. Spiral Matrix | Medium | Code | Layer-by-layer traversal | O(m*n) / O(1) |
| 36 | 48. Rotate Image | Medium | Code | Transpose + reverse rows | O(n²) / O(1) |
| 37 | 73. Set Matrix Zeroes | Medium | Code | Mark first row/col as zero flags | O(m*n) / O(1) |
| 38 | 289. Game of Life | Medium | Code | In-place state encoding | O(m*n) / O(1) |
| 39 | 383. Ransom Note | Easy | Code | Char count comparison | O(n) / O(1) |
| 40 | 205. Isomorphic Strings | Easy | Code | HashMap mapping both directions | O(n) / O(1) |
| 41 | 290. Word Pattern | Easy | Code | HashMap + split and compare | O(n) / O(1) |
| 42 | 242. Valid Anagram | Easy | Code | Count chars with array | O(n) / O(1) |
| 43 | 49. Group Anagrams | Medium | Code | HashMap with sorted key or char count | O(n k log k) / O(n k) |
Progress: 🟩🟩🟩🟩 (43/150)
- 📁 Each problem has its own folder:
Question {Day}/Solution.java - 🧠 Includes commented explanations and efficient approaches
- 🔄 Solutions use Java, with consistent formatting and naming
- ✅ Reach 30 problems by the end of the month
- 📦 Add unit tests for each Java file
- 🔁 Revisit and optimize any early solutions if needed