Mastering Algorithms: One Problem at a Time
A curated open-source hub of 48+ DSA solutions in Java — with progress tracking and GitHub Pages.

A curated collection of 48+ Data Structures and Algorithms solutions in Java. Focusing on clean code, optimization, and deep understanding. Hosted as a static site on GitHub Pages as an interactive study guide.
Progress Overview (98% Complete)
- Searching Algorithms (2/2):: Binary Search, Linear Search.
- Number Systems (2/2):: Binary to Decimal conversion, Index operations.
- Array Problems (6/7):: Second Largest, Subarray, Prefix Sum, Kadane's Algorithm, Trapping Rain Water, Buy & Sell Stock.
- Sorting Algorithms (5/5):: Bubble Sort, Bubble Sort (Kth Smallest), Insertion Sort, Merge Sort, Selection Sort.
- Matrix Problems (2/3):: Diagonal Sum, Staircase Matrix Search, Spiral Matrix (in progress).
- Pattern Problems (6/6):: Diamond, Rhombus, String Compression, and more.
- String Problems (4/4):: Palindrome, Uppercase Conversion, Lexicographic Comparison, Shortest Path.
- Recursion & Backtracking (9/9):: Fibonacci, Reverse Array, Palindrome, N-to-1 Backtracking, and more.
- Hashing (3/3):: Number Hashing, Character Hashing, All Character Hashing.
- OOP Concepts:: Getter/Setter, OOP principles.
- Loop & Control Flow:: Complete coverage of loop patterns and control structures.
Goals
- Clean Code:: Solutions written with readability and maintainability in mind.
- Optimization:: Focus on time and space complexity analysis for each problem.
- Deep Understanding:: Each problem approached to build foundational knowledge, not just solve it.
Tech & Setup
- Language:: Java (50.8% of codebase)
- Hosting:: GitHub Pages with static HTML (49.2%)
- IDE Workflow:: Compile with javac, run with java, test with edge cases.
- Organization:: All solutions in /dsa directory, progress tracked in README.
How to Use This Hub
- Browse Solutions Online:: Visit omn7.github.io/DSA/ to see the full progress tracker with links to every solution file.
- Clone the Repo:: Run git clone https://github.com/omn7/DSA.git to get all Java source files locally.
- Navigate to Solutions:: All solutions live in the /dsa directory. Each file is named after the problem (e.g., spiralmatrix2d.java, kadanesalgo.java).
- Compile & Run:: Open a terminal, navigate to the dsa folder, compile with javac filename.java, and run with java filename.
- Study the Approach:: Each solution is written with readability in mind — clear variable names, comments explaining the logic, and optimized for time/space complexity.
- Use as Reference:: The progress tracker in the README categorizes problems by topic, making it easy to find solutions for specific algorithm types during interview prep.
How I Built It
This project started as my personal DSA study journal. When I began learning Data Structures and Algorithms with Java, I wanted a structured way to track progress and revisit solutions.
I organized everything in a single /dsa directory with one Java file per problem. The naming convention is straightforward — the filename describes the problem (bubblesort.java, palindrome.java, trappingrainwater.java). No complex folder hierarchies, just flat and searchable.
For each problem, my workflow was: understand the problem thoroughly, plan the approach on paper, code the solution, test it with edge cases, optimize for time/space complexity, and commit with a descriptive message.
I built a progress tracker in the README using Markdown tables. Each row shows the problem name, completion status (checkmark or in-progress), and a link to the source file. I also added learning statistics showing completion percentages per category — this helped me identify weak areas to focus on.
To make it accessible to others, I created a static HTML site deployed on GitHub Pages with a GitHub Actions workflow. The site (omn7.github.io/DSA/) serves as a visual frontend for the repository, making it easier to browse than raw GitHub.
The codebase is 50.8% Java (solutions) and 49.2% HTML (the static site). The repo is set up as a public template so other students can fork it and track their own DSA journey with the same structure.
Currently at 48/49 problems solved (98% complete), with Spiral Matrix 2D being the last remaining problem.