This repository contains my personal solutions to a wide range of LeetCode problems, solved mainly using C++ (with some JavaScript where applicable).
The purpose of this repository is to practice data structures and algorithms, improve problem-solving skills, and track performance over time.
Most solutions are automatically synchronized using LeetSync, which preserves submission history, runtime, and memory usage.
The problems in this repository cover multiple algorithmic concepts, including:
- Arrays & Strings
- Hash Tables
- Two Pointers
- Sorting & Binary Search
- Stack & Queue
- Greedy Algorithms
- Dynamic Programming
- Trees & Binary Trees
- Graphs (BFS / DFS)
- Bit Manipulation
- Math & Number Theory
Each problem is organized in its own directory using the following format:
problem-number-problem-name/ │── solution file(s) │── README.md (optional explanation)
Example:
1-two-sum/ 20-valid-parentheses/ 70-climbing-stairs/ 347-top-k-frequent-elements/
Folder names follow the official LeetCode problem numbering for easy navigation.
For many problems, the repository includes:
- ⏱ Runtime performance (milliseconds and percentile)
- 💾 Memory usage (megabytes and percentile)
- 🕒 Submission date
This helps evaluate efficiency and compare different solutions.
- Strengthen algorithm and data structure knowledge
- Prepare for technical interviews
- Maintain a clean archive of solved problems
- Track progress and optimization improvements
- Add detailed explanations for complex problems
- Include optimized and alternative solutions
- Organize problems by difficulty (Easy / Medium / Hard)
-
LeetCode
https://leetcode.com -
LeetSync
https://github.com/LeetSync/LeetSync -
LeetCode Problem Set
https://leetcode.com/problemset/all/