The minimal set of problems to pass coding interviews
This repo contains the 75 most frequently asked LeetCode questions at top tech companies. Solve these, and you'll cover nearly every pattern interviewers test.
Instructions:
- = Not started
- = Completed
- 1. Two Sum - Hash Map
- 121. Best Time to Buy/Sell Stock - Sliding Window
- 217. Contains Duplicate - Hash Set
- 238. Product of Array Except Self - Prefix/Suffix
- 53. Maximum Subarray - Kadane's Algorithm
- 152. Maximum Product Subarray - DP
- 153. Find Minimum in Rotated Sorted Array - Binary Search
- 33. Search in Rotated Sorted Array - Binary Search
- 15. 3Sum - Two Pointers
- 11. Container With Most Water - Two Pointers
- 371. Sum of Two Integers - Bit Manipulation
- 191. Number of 1 Bits - Bit Count
- 338. Counting Bits - DP + Bits
- 268. Missing Number - XOR
- 190. Reverse Bits - Bit Manipulation
(full list continues in PROGRESS.md)
-
Study Order:
- Follow the order in PROGRESS.md for optimal learning.
- Start with Arrays, then move to Binary, Dynamic Programming, etc.
- Allocate 1-2 days per problem (30 mins solving, 30 mins reviewing solutions).
-
For Each Problem:
- Try solving it yourself first.
- If stuck after 30 mins, check the solution.
- Annotate your code with time/space complexity:
# Time: O(n) | Space: O(1) def solve(): """Approach: Sliding Window"""
-
Track Progress:
- Update the progress checklist in PROGRESS.md.
- Review checked problems regularly to reinforce learning.
- Data-Driven: Selected from top companies' interview frequency
- Pattern-Centric: Grouped by techniques (e.g., sliding window, DFS)
- Time-Efficient: Covers 90% of interview question patterns