Welcome to my Data Structures and Algorithms (DSA) repository! This repository is a personal project where I document and solve various problems related to data structures and algorithms. It's a reflection of my journey in mastering these fundamental concepts and enhancing my problem-solving skills.
- Problems: A collection of solved problems categorized by data structures and algorithms.
- Solutions: Implementations in multiple programming languages (e.g., C++, Python, Java).
- Explanations: Detailed explanations and comments for each solution to aid understanding.
- Challenges: A selection of challenging problems to push my limits and improve my skills.
- Explore: Browse through the different directories and files to find problems and their solutions.
- Run: Follow the instructions in each problem’s directory to run the code. You may need to install dependencies if required.
- Learn: Review the code and explanations to understand the problem-solving approach and algorithmic concepts.
- Contribute: If you have suggestions for improvements or additional problems, feel free to open an issue or submit a pull request.
- Arrays
- Linked Lists
- Stacks
- Queues
- Trees (Binary Trees, Binary Search Trees, AVL Trees)
- Graphs (DFS, BFS, Shortest Path Algorithms)
- Dynamic Programming
- Hashing
- Sorting and Searching Algorithms
- And more...
This repository is continually updated as I work through more problems and refine my solutions. Check out the commit history to see my progress and updates.
To get started with this repository:
- Clone the repository:
git clone https://github.com/yourusername/your-repo-name.git
- Navigate to the problem's directory and follow the instructions provided in the respective README files for each problem.
- Run the provided code and review the results.
For any questions or feedback, feel free to contact me via [email protected] or open an issue on GitHub.
Happy coding!
0017-letter-combinations-of-a-phone-number |
0020-valid-parentheses |
0079-word-search |
0131-palindrome-partitioning |
0139-word-break |
0282-expression-add-operators |
0402-remove-k-digits |
0017-letter-combinations-of-a-phone-number |
0037-sudoku-solver |
0051-n-queens |
0078-subsets |
0079-word-search |
0090-subsets-ii |
0131-palindrome-partitioning |
0282-expression-add-operators |
0037-sudoku-solver |
0079-word-search |
0085-maximal-rectangle |
0407-trapping-rain-water-ii |
2145-grid-game |
2685-first-completely-painted-row-or-column |
0029-divide-two-integers |
0078-subsets |
0090-subsets-ii |
0136-single-number |
0231-power-of-two |
2323-minimum-bit-flips-to-convert-number |
2533-bitwise-xor-of-all-pairings |
2792-neighboring-bitwise-xor |
0017-letter-combinations-of-a-phone-number |
0037-sudoku-solver |
0139-word-break |
0146-lru-cache |
0460-lfu-cache |
0496-next-greater-element-i |
2685-first-completely-painted-row-or-column |
0042-trapping-rain-water |
0085-maximal-rectangle |
0131-palindrome-partitioning |
0139-word-break |
0943-sum-of-subarray-minimums |
0139-word-break |
0139-word-break |
0029-divide-two-integers |
0050-powx-n |
0204-count-primes |
0231-power-of-two |
0282-expression-add-operators |
0050-powx-n |
0231-power-of-two |
0035-search-insert-position |
0792-binary-search |
0204-count-primes |
0204-count-primes |
2533-bitwise-xor-of-all-pairings |
0146-lru-cache |
0155-min-stack |
0225-implement-stack-using-queues |
0232-implement-queue-using-stacks |
0460-lfu-cache |
0937-online-stock-span |
0225-implement-stack-using-queues |
0232-implement-queue-using-stacks |
0239-sliding-window-maximum |
0042-trapping-rain-water |
0407-trapping-rain-water-ii |
0239-sliding-window-maximum |
0407-trapping-rain-water-ii |
0735-asteroid-collision |
0402-remove-k-digits |
0239-sliding-window-maximum |
0239-sliding-window-maximum |
0937-online-stock-span |
0146-lru-cache |
0460-lfu-cache |
0146-lru-cache |
0460-lfu-cache |
2145-grid-game |