This repository documents my systematic practice of Data Structures and Algorithms (DSA) as part of my professional transition to a software development role. It serves as a verifiable record of my commitment to consistent problem-solving and algorithmic analysis.
The solutions are organized by difficulty to clearly track progression and focus areas.
| Folder | Purpose |
|---|---|
Easy/ |
Foundational problems focusing on mastering syntax, basic data structures (Arrays, Strings, Hash Maps), and core logic. |
Medium/ |
Core algorithmic patterns (Two Pointers, Sliding Window, BFS/DFS, Recursion, Simple Dynamic Programming). |
Hard/ |
Advanced problems requiring optimized techniques, complex data structure manipulation, and deep algorithmic insight. |
template.py |
A standard template used to ensure consistent documentation and professional structure across all solutions. |
Every solution file in this repository adheres to the following professional standards:
-
Standardized Naming: Files are named using the format
[Problem Number]-[Problem Title].py(e.g.,0001-Two-Sum.py). - Complexity Analysis: Each file includes metadata comments detailing the Time Complexity ($O(n)$) and Space Complexity ($O(1)$) of the implemented solution.
-
Local Testability: All files include a runnable block (
if __name__ == "__main__":) to demonstrate the function's output with example test cases.
| Metric | Status (As of October 20, 2025) |
|---|---|
| Total Solutions | 3 |
| Easy Problems | 3 |
| Medium Problems | 0 |
| Hard Problems | 0 |