Skip to content

Latest commit

 

History

138 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Data Structures & Algorithms Journey

Welcome to my DSA repository!

This repository contains my solutions to:

  • 📚 Striver's A2Z DSA Sheet
  • 💻 LeetCode Problems
  • 🔥 Daily LeetCode Challenges
  • 🎯 Placement Preparation Questions
  • 📈 Topic-wise DSA Practice

The primary goal of this repository is to strengthen problem-solving skills, master Data Structures and Algorithms, and prepare for coding interviews and placement opportunities.


👨‍💻 About Me

Hi, I'm Mohammad Vasim.

🎓 B.Tech Computer Science Engineering Student

💡 Currently learning and exploring:

  • Data Structures & Algorithms
  • Web Development
  • Artificial Intelligence & Machine Learning
  • Software Development

This repository serves as my coding journal where I consistently practice and improve my problem-solving skills.


📂 Repository Structure

DSA/
│
├── Arrays/
│   ├── #1 : Two Sum.java
│   ├── #53 : Maximum Subarray.java
│   └── #121 : Best Time to Buy and Sell Stock.java
│
├── Strings/
│   ├── #125 : Valid Palindrome.java
│   └── #14 : Longest Common Prefix.java
│
├── Hashing/
│   ├── #242 : Valid Anagram.java
│   └── #49 : Group Anagrams.java
│
├── Linked List/
│   ├── #206 : Reverse Linked List.java
│   └── #141 : Linked List Cycle.java
│
├── Stack/
│   ├── #20 : Valid Parentheses.java
│   └── #155 : Min Stack.java
│
├── Queue/
│   └── #232 : Implement Queue using Stacks.java
│
├── Recursion/
│
├── Backtracking/
│   ├── #46 : Permutations.java
│   └── #78 : Subsets.java
│
├── Binary Search/
│   ├── #704 : Binary Search.java
│   ├── #35 : Search Insert Position.java
│   └── #33 : Search in Rotated Sorted Array.java
│
├── Sliding Window/
│
├── Two Pointers/
│
├── Trees/
│   
├── Binary Search Trees/
│
├── Heap/
│
├── Greedy/
│
├── Graph/
│
├── Dynamic Programming/
│   
├── Bit Manipulation/
│
├── Tries/
│
└── README.md

📚 Topics Covered

Basic Data Structures

  • Arrays
  • Strings
  • Hashing
  • Linked List
  • Stack
  • Queue

Searching & Sorting

  • Binary Search
  • Sorting Algorithms
  • Searching Techniques

Recursion & Backtracking

  • Recursion Basics
  • Backtracking Problems
  • Divide and Conquer

Advanced Problem Solving

  • Sliding Window
  • Two Pointers
  • Greedy Algorithms
  • Bit Manipulation

Trees

  • Binary Tree
  • Binary Search Tree
  • Tree Traversals
  • Lowest Common Ancestor
  • Tree Views
  • Tree Construction

Graphs

  • BFS
  • DFS
  • Topological Sort
  • Shortest Path Algorithms
  • Minimum Spanning Tree
  • Disjoint Set Union
  • Graph Traversals

Dynamic Programming

  • DP Basics
  • Memoization
  • Tabulation
  • 1D DP
  • 2D DP
  • DP on Trees
  • DP on Subsequences

📌 Striver A2Z DSA Sheet

This repository follows the popular Striver A2Z DSA Sheet.

The sheet covers:

  • Programming Fundamentals
  • Data Structures
  • Algorithms
  • Interview Problems
  • Coding Patterns
  • Competitive Programming Concepts

Each solved problem is organized topic-wise for easy revision and interview preparation.


💻 LeetCode Solutions

The repository contains solutions to LeetCode problems categorized by topic and difficulty level.

Every solution includes:

  • Problem Number
  • Problem Name
  • Optimized Approach
  • Time Complexity
  • Space Complexity
  • Clean and Readable Code

Example

/*
Problem: Two Sum

Approach:
Use HashMap to store visited elements.

Time Complexity: O(n)
Space Complexity: O(n)
*/

class Solution {
    public int[] twoSum(int[] nums, int target) {

    }
}

🔥 Daily LeetCode Challenge

Daily LeetCode problems are not stored separately.

Each Daily Challenge is placed inside its respective topic folder to maintain a clean and organized repository structure.

Examples:

Arrays/
├── 1_Two_Sum.java
├── 53_Maximum_Subarray.java
└── 121_Best_Time_To_Buy_And_Sell_Stock.java

Graphs/
├── 200_Number_Of_Islands.java
├── 994_Rotting_Oranges.java
└── 207_Course_Schedule.java

Trees/
├── 100_Same_Tree.java
├── 104_Maximum_Depth_Of_Binary_Tree.java
└── 102_Binary_Tree_Level_Order_Traversal.java

📝 Solution Naming Convention

Each solution is named using the following format:

#ProblemNumber : Problem Name

Examples:

#1 : Two Sum.java

#121 : Best Time to Buy and Sell Stock.java

#206 : Reverse Linked List.java

#102 : Binary Tree Level Order Traversal.java

#704 : Binary Search.java

#994 : Rotting Oranges.java

For Topic-wise Questions:

Arrays/
│
├── #1 : Two Sum.java
├── #121 : Best Time to Buy and Sell Stock.java
├── #53 : Maximum Subarray.java
└── ...

Linked List/
│
├── #206 : Reverse Linked List.java
├── #141 : Linked List Cycle.java
└── ...

Binary Search/
│
├── #704 : Binary Search.java
├── #33 : Search in Rotated Sorted Array.java
└── ...

📊 Progress Tracker

Category Progress
Arrays
Strings
Linked List
Sliding Window
Stack
Queue
Binary Search
Recursion
Trees
Graphs
Dynamic Programming
Greedy
Heap

🎯 Current Goals

  • Complete Striver A2Z Sheet
  • Solve 500+ LeetCode Problems
  • Strengthen DSA Fundamentals
  • Improve Problem-Solving Skills
  • Master Dynamic Programming
  • Become Interview Ready
  • Prepare for Product-Based Companies

🚀 Languages Used

  • Java ☕ Currently focusing on Java for Data Structures and Algorithms.

📖 Resources Used

Striver A2Z DSA Sheet

https://takeuforward.org

LeetCode

https://leetcode.com


🏆 Why This Repository?

This repository helps me:

  • Track my coding journey
  • Maintain consistency
  • Revise important concepts
  • Prepare for coding interviews
  • Build strong problem-solving skills

⭐ Support

If you find this repository useful, consider giving it a ⭐.

It motivates me to keep learning, solving, and sharing.


Repository Description

A comprehensive collection of Data Structures and Algorithms solutions including Striver A2Z Sheet, LeetCode Problems, Daily LeetCode Challenges, and topic-wise interview preparation questions implemented primarily in Java.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages