This repository is dedicated to my daily problem-solving journey in Java.
The goal is to improve my logical thinking, problem-solving ability, and deep understanding of core Data Structures and Algorithms β from first principles to advanced concepts.
Each Java file includes:
- π Problem Link β Direct reference to the original problem (LeetCode, GFG, etc.)
- π§© Problem Statement β Short description of what needs to be solved
- π‘ Approaches β Step-by-step evolution of the solution:
- Brute Force Solution β Initial, straightforward method
- Average / Improved Solution β Optimized with better logic or data structure
- Best Possible Solution β Final efficient approach with reasoning
- β±οΈ Time & Space Complexity β For each approach
- π§ Thought Process β Explaining how the logic evolved from basic to optimal
The problems are organized systematically for clarity and learning progression:
/platform/ topic/ level/ ProblemName.java
- /LeetCode/Arrays/Easy/TwoSum.java
- TUF+/LinkedList/RemoveNthNodeFromEndOfList/Medium/SubarraySumEqualsK.java
- π Solve and push at least one problem every day
- π§ Strengthen logical reasoning and problem-solving depth
- βοΈ Build a solid foundation in Data Structures and Algorithms
- π§Ύ Maintain a clean, structured repository as a reflection of progress
- Arrays
- Strings
- Linked Lists
- Stacks & Queues
- Trees
- Graphs
- Recursion & Backtracking
- Dynamic Programming
- Searching & Sorting
- Greedy Algorithms
- Bit Manipulation
- LeetCode
- GeeksforGeeks
- CodeStudio
- HackerRank
- InterviewBit
This repository represents consistent daily growth.
Every problem solved is a small step toward becoming a stronger thinker, better programmer, and efficient problem solver.
The focus isnβt just on getting the right answer β itβs on understanding the logic behind it.