Welcome to my DSA (Data Structures and Algorithms) learning repository! This is my personal space where I document my journey of solving programming problems and mastering fundamental concepts. I'm co[...]
- Total Problems Solved: 90+ problems and growing 🚀
- Topics Covered: 3 Major Categories
- Daily Updates: ✅ Active
- Last Updated: December 28, 2025
DSA-Problems/
├── src/
│ ├── arrays/ # Array-based problems
│ ├── oops/ # Object-Oriented Programming concepts
│ └── recursion/ # Recursion problems and patterns
Exploring fundamental array operations and problem-solving techniques.
Key Concepts:
- Array manipulation
- In-place algorithms
- Two-pointer technique
- Rotation algorithms
Deep dive into Java OOP concepts with practical implementations.
Sub-topics:
- 🔹 Abstract Classes - Understanding abstraction and abstract methods
- 🔹 Cloning - Object cloning techniques
- 🔹 Exception Handling - Custom exceptions and error handling
- 🔹 Generics - Type-safe programming with generics
- Generic classes and interfaces
- Comparison and Lambda functions
- 🔹 Inheritance - Parent-child class relationships
- 🔹 Interfaces - Contract-based programming
- Engine implementations
- Media player interfaces
- Car system design
- 🔹 Polymorphism - Method overloading and overriding
- 🔹 Singleton Pattern - Design pattern implementation
- 🔹 Practice Projects - Real-world applications
Mastering recursive thinking and solving complex problems with elegant solutions.
Categories:
- Missing Element
- Count Zeroes
- Remove Duplicate
- Bubble Sort
- Merge Sort
- Quick Sort
- Selection Sort
- Array problems using recursion
- Pattern printing
- String manipulation
- Introduction to recursion concepts
- Java Development Kit (JDK) 8 or higher
- Any Java IDE (IntelliJ IDEA, Eclipse, VS Code)
-
Clone this repository:
git clone https://github.com/ziyous09/DSA-Problems. git
-
Navigate to the project directory:
cd DSA-Problems -
Open in your preferred IDE or compile and run individual files:
javac src/arrays/RotateArray.java java src/arrays/RotateArray
- ✅ Master fundamental data structures
- ✅ Solve problems daily
- ✅ Document my learning journey
- 🔄 Expand to advanced topics (Graphs, Trees, Dynamic Programming)
- 🔄 Participate in coding competitions
- 🔄 Build a strong problem-solving foundation
I am committed to:
- 📝 Solving at least one problem daily
- 📤 Pushing code regularly to track progress
- 📊 Maintaining this README with updated statistics
- 🌱 Growing my skills in public
This repository reflects concepts learned from various sources including:
- [Kunal Kushwaha ] https://www.youtube.com/@KunalKushwaha
- [Leetcode] https://leetcode.com/
- Java programming tutorials
- Personal practice and experimentation
Feel free to explore my code, provide feedback, or connect with me on this learning journey!
- GitHub: @ziyous09
This repository is for educational purposes. Feel free to use the code for learning and reference.
"The only way to learn a new programming language is by writing programs in it." - Dennis Ritchie