Welcome to my personal LeetCode repository.
This project documents my journey of learning data structures and algorithms, with the main objective of leveling up my problem-solving skills.
This repository is intentionally structured to be problem-centric. Instead of hunting for scattered files, everything related to a specific problem is grouped into a single folder.
Inside the algorithms/ directory, you will find folders named by the LeetCode problem number and title. Each folder typically contains:
- The Code: Implementations in C++, Java, and/or Python.
- The Process: A
notes.mdfile detailing my thought process, time/space complexity analysis, and the algorithmic patterns used to reach the optimal solution.
algorithms/
βββ 001-Two-Sum/
β βββ TwoSum.cpp
β βββ TwoSum.java
β βββ TwoSum.py
β βββ notes.md
If interested in my profile, you can check out my Leetcode Account.
Below is a running log of the problems I have solved, complete with links directly to my code and notes.
| # | Problem Title | Solutions | Difficulty | Core Concept |
|---|---|---|---|---|
| 001 | Two Sum | C++ Java Python |
π’ Easy | Arrays, Hash Map |
| 011 | Container With Most Water | Java |
π‘ Medium | Two Pointers |
| 053 | Maximum Subarray | Python |
π‘ Medium | Dynamic Programming, Kadane's |
| 121 | Best Time to Buy and Sell Stock | Python |
π’ Easy | Sliding Window |
| 217 | Contains Duplicate | C++ Python |
π’ Easy | Arrays, Hash Set |
| 268 | Missing Number | C++ |
π’ Easy | Bit Manipulation, Math |
| 738 | Monotone Increasing Digits | Java |
π‘ Medium | Greedy, Math |
| 912 | Sort an Array | Java |
π‘ Medium | Divide and Conquer (Merge/Quick Sort) |