This repository contains my solutions to 75 essential LeetCode problems. LeetCode is a popular online platform that provides a collection of coding challenges to help programmers improve their algorithmic skills. The problems cover various topics and difficulty levels, making it a valuable resource for practicing coding and problem-solving techniques. These solutions are implemented in Python and are organized by problem category for easy reference. Each problem solution includes a detailed explanation and the corresponding code.
- Total Problems Solved: 75
- Languages Used: python
The problems in this repository are categorized into the following categories:
- Array/String
- Two Pointers
- Sliding Window
- Prefix Sum
- Hash Map, Set
- Stack
- Queue
- Linked List
- Binary Tree, DFS
- Binary Tree, BFS
- Binary Search Tree
- Graphs, DFS
- Graphs, BFS
- Heap or Priority Queue
- Binary Search
- Backtracking
- DP - 1D
- DP - Miltidimentional
- Bit Manipulation
- Trie
- Intervals
- Monotonic Stack
Each problem solution includes a detailed explanation and the corresponding Python code. The solutions are implemented using efficient algorithms and follow best coding practices. The explanations provide a step-by-step breakdown of the thought process and reasoning behind the solution approach.
In addition to the problem solutions, this repository provides a folder named Concepts_and_Algorithms
that contains relevant algorithms, data structures, and common concepts associated with each problem category. These resources serve as a reference and provide a deeper understanding of the problem-solving techniques used in the solutions. The folder includes markdown files for each category, detailing the key algorithms and concepts related to that category.
To further enhance the experience of working with the problem solutions, it is strongly recommended to open the solution files in Google Colab. Google Colab provides a convenient and interactive environment where you can execute the code, modify it, and experiment with different inputs and scenarios. Using Google Colab in conjunction with these problem solutions can greatly enhance your learning and understanding of the algorithms and concepts.
I have personally solved these problems, but if you have alternative solutions or improvements, feel free to contribute by:
- Forking the repository.
- Creating a new branch for your contributions.
- Making the necessary changes and additions.
- Committing and pushing your changes to your forked repository.
- Creating a pull request with a detailed description of your changes.
- LeetCode - The official LeetCode website.
This repository is licensed under the MIT License. You are free to use, modify, and distribute the code in this repository.
I would like to express my gratitude to the LeetCode community for providing these challenging problems that have helped enhance my problem-solving and algorithmic skills. I hope my solutions and the information provided here can still be helpful and inspire others in their learning journey.