Skip to content

shrimayee24/Leetcode-Top-Interview-150

Repository files navigation

✨💻LeetCode Top Interview 150 Solutions 💻✨

Welcome to my LeetCode Top Interview 150 repository! 🚀

Top_Interview_150

☘️ 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.

📂 File Structure:

✅ 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!

🔍 How to Search for Solutions:

📌 You can search by problem number to find the solution you're looking for.

📌Files are stored in dictionary order.

⌨️ Tech Stack:

🌟 Language: Java

🌟 Concepts Covered: Data Structures, Algorithms, Programming Logic

📚 Data Structures and Algorithms Covered:

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. 📍➖📍➖📍

🏆 Why This Repo?:

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.

🎯Improvements and Feedback:

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! 🎉

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages