Welcome to my Data Structures & Algorithms (DSA) Repository 🎯
This repository showcases my daily problem-solving journey focused on mastering algorithms and patterns for FAANG-level coding interviews (Facebook, Amazon, Apple, Netflix, Google) and other top tech companies.
This repo contains well-structured Java solutions to selected LeetCode, GeeksforGeeks, and InterviewBit problems.
Each problem file includes:
- 💡 Optimized approach with explanation & time-space complexity.
- 🧠 Recognized patterns (Sliding Window, Two Pointers, Binary Search, Recursion, DP, Graphs, etc.).
- ⚡ Accepted Java solutions (often 0 ms runtime on LeetCode).
- 🗂️ Organized by problem ID + title for easy lookup (e.g.,
57-insert-interval.java).
I believe in mastering patterns rather than memorizing problems.
This helps recognize problem structures instantly — a crucial FAANG skill.
🧠 Core Focus Areas:
- Arrays & Strings
- Linked Lists
- Stacks & Queues
- Trees & Binary Search Trees
- Heaps & Priority Queues
- Graphs (BFS, DFS, Dijkstra, Union-Find)
- Recursion & Backtracking
- Dynamic Programming (1D / 2D / State DP)
- Greedy & Divide-and-Conquer
- Bit Manipulation
| Metric | Status |
|---|---|
| Problems Solved | 200+ (LeetCode) |
| Languages Used | Java (Primary) |
| Difficulty Coverage | Easy ✅ • Medium ✅ • Hard ✅ |
| Consistency | Daily practice streak 🔥 |
| Patterns Covered | 15+ Major Interview Patterns |
- ✅ Solve 1–2 problems daily to maintain sharpness.
- ✅ Cover all DSA patterns used in FAANG interviews.
- ✅ Focus on clean code + optimal logic.
- ✅ Continuously improve through analysis & revision.
- ✅ Prepare for System Design + Advanced DSA next.
“Don’t practice until you get it right — practice until you can’t get it wrong.”
| Category | Example Problems |
|---|---|
| Two Pointers | Remove Duplicates, Container with Most Water |
| Sliding Window | Longest Substring Without Repeating Characters |
| Binary Search | Search in Rotated Sorted Array |
| Dynamic Programming | 0/1 Knapsack, LIS, LCS |
| Graph Traversal | Number of Islands, Clone Graph |
| Greedy | Activity Selection, Huffman Coding |
| Backtracking | N-Queens, Sudoku Solver |
Each solution includes:
- ⏱️ Time Complexity: O(n), O(log n), etc.
- 💾 Space Complexity: O(1), O(n), etc.
- 📝 Short comments explaining why the approach is optimal.