Welcome to my LeetCode Top Interview 150 repository! 🚀
☘️ This repository contains my solutions to the LeetCode Top Interview 150 coding problems.
☘️ I've tackled a variety of algorithmic challenges that cover essential data structures, algorithms, and problem-solving techniques for coding interviews.
✅ Each file is named according to the problem number for easy navigation (e.g Prob1.java which stands for problem no. 1: two sum problem).
✅ I've included detailed comments in each solution to explain the thought process, logic and algorithm used.
✅ This should help in understanding the approach and implementing solutions more quickly and easily!
📌 You can search by problem number to find the solution you're looking for.
📌Files are stored in dictionary order.
🌟 Language: Java
🌟 Concepts Covered: Data Structures, Algorithms, Programming Logic
Here are the data structures and algorithms that I have worked on and implemented:
- 🧱 Arrays: Efficient storage and access of elements.
- 🔤 Strings: Manipulating and processing sequences of characters.
- 🔑 HashMap: Key-value storage and retrieval for fast lookups.
- 🌳 Trees:
- 🌿 Binary Trees
- 🌲 Binary Search Trees (BST)
- 🔗 Linked Lists:Solved linked list problems using various pointer approaches.
- 🗂️ Stacks: LIFO (Last In First Out) operations for managing function calls and expressions.
- 💡 Bit Manipulation: Efficiently working with binary data.
- ➗ Math: Implementing mathematical algorithms and logic.
- 🧮 1D Dynamic Programming (DP): Optimizing solutions using subproblem solutions.
- 🌬️ Sliding Window: Efficiently solving range-based problems.
↔️ Two Pointers: Efficient techniques for searching and manipulation in arrays or lists.- 🐢🐇 Fast and Slow Pointer: Detecting cycles or solving linked list problems.
- 🌀 Divide and Conquer: Breaking problems into subproblems for efficient solutions.
- ♟️ Backtracking: Recursively solving problems by exploring all possible solutions.
- ➡️ Forward Pass: Processing data from start to end.
- ⬅️ Backward Pass: Processing data from end to start.
- 📈 Kadane's Algorithm: Maximum subarray sum.
- 🕸️Graph Data Structure: Nodes connected by edges, forming a network. 📍➖📍➖📍
This repo serves as:
🌟 My personal coding journal to keep track of solved problems.
🌟 A resource for anyone preparing for coding interviews or practicing their problem-solving skills.
🌟 A showcase of clean, optimized, and well-commented code.
I'm continuously improving my solutions and making them more efficient. Feel free to:
🌟 Open an issue or create a pull request for suggestions.
🌟 Share feedback if you spot any improvements or optimizations!
Happy coding! 🎉

