This repository is my personal archive of progress and learning on LeetCode, where I hone my problem-solving skills and deepen my understanding of algorithms and data structures. Whether you're a fellow learner or just curious, I hope this repository inspires and guides you in your coding journey.
Here’s a quick summary of the challenges I’ve completed so far:
Difficulty | Link to Solutions |
---|---|
🟢 Easy | Easy Challenges |
🟠 Medium | Medium Challenges |
🔴 Hard | Hard Challenges |
Stay updated with my LeetCode journey:
🔗 My LeetCode Profile
- Python (100%)
Python is my primary language for solving LeetCode challenges.
Future goal: Learn and apply JavaScript after mastering Python fundamentals.
Here are some resources that help me in my journey:
- LeetCode Problem Set
- Python Official Documentation
- GeeksforGeeks Data Structures
- Visual Algo for algorithm visualization.
- Big-O Cheat Sheet for analyzing algorithm complexity.
NeetCode deserving of his own section helped me greatly throughout my LeetCode journey.
Please check him out!
This repository is organized by difficulty level:
LeetCode/
├── Easy/
│ ├── Problem1.py
│ ├── Problem2.py
├── Medium/
│ ├── Problem1.py
│ ├── Problem2.py
├── Hard/
│ ├── Problem1.py
│ ├── Problem2.py
Below is a curated list of topics I am focusing on to sharpen my problem-solving skills:
Topic | Key Concepts & Applications |
---|---|
Array/String | Array manipulation, string operations, and pattern matching. |
Two Pointers | Efficient solutions using two-pointer techniques. |
Sliding Window | Optimizing for subarray or substring problems. |
Matrix | Working with 2D arrays and matrix-based challenges. |
Hashmap | Efficient lookups, insertions, and deletions using hashmaps. |
Intervals | Solving problems with ranges and overlapping intervals. |
Stack | Stack-based algorithms and applications in problem-solving. |
Linked List | Handling singly and doubly linked list problems. |
Binary Tree General | Fundamental tree operations and traversals. |
Binary Tree BFS | Exploring breadth-first traversal techniques for trees. |
Binary Search Tree | Problems involving properties of binary search trees. |
Graph General | Core graph theory and traversal algorithms. |
Graph BFS | Breadth-first search applications in graph problems. |
Trie | Efficient prefix and substring searching with trie structures. |
Backtracking | Exploring problem spaces using backtracking techniques. |
Divide & Conquer | Breaking problems into smaller subproblems for efficient solutions. |
Kadane's Algorithm | Solving maximum subarray problems efficiently. |
Binary Search | Fast searching in sorted arrays and structures. |
Heap | Priority queues and heap-based problem-solving. |
Bit Manipulation | Using bitwise operations for optimization and problem-solving. |
Math | Applying mathematical concepts to solve algorithmic problems. |
1D DP | Dynamic programming with 1-dimensional states. |
Multidimensional DP | Solving problems with multidimensional dynamic programming states. |
Feel free to explore and provide feedback! Happy coding! 😊