Learning Data Structures & Algorithms in Java β completely in the open.
I'm Ranesh Rajit, a B.Tech CS student from India, learning Java and DSA from scratch β the hard way, problem by problem.
Every concept I study and every problem I solve goes into this repo so that other students on the same journey can learn alongside me for free.
Inspired by Kunal Kushwaha's DSA Bootcamp.
New to Java? Start with the complete roadmap.
| Topic | Problems Solved |
|---|---|
| Java Basics | 4 |
| Arrays & ArrayList | 53 |
| Searching & Sorting | 22 |
| Binary Search | 13 |
| Strings | 38 |
| Two Pointers | 6 |
| Sliding Window | 4 |
| Bit Manipulation | 4 |
| Greedy | 9 |
| Math & Numbers | 23 |
| Prefix Sum | 7 |
| Hashing & Misc | 4 |
| Trees | 2 |
| Recursion | 5 |
| Linked Lists | 3 |
| Graphs | 4 |
| Dynamic Programming | 6 |
Total: 207+ problems solved
- 10 Problems Solved
- 50 Problems Solved
- 100 Problems Solved
- 200 Problems Solved
- 300 Problems Solved
- 500 Problems Solved
src/
βββ Basics/ # Java fundamentals β syntax, data types, I/O, operators, type casting
βββ Conditionals/ # If-else, switch, nested switch, calculators, comparisons
βββ Loops/ # Loop basics and practice
βββ Methods/ # Functions, overloading, varargs, recursion basics, utilities
βββ Arrays/ # Arrays, ArrayLists, 2D arrays, traversal, manipulation, utilities
βββ Strings/ # String operations, builders, formatting, palindrome, performance
βββ Searching/ # Linear, Binary, Order-Agnostic, 2D, Matrix & Recursive Searching
βββ Sorting/ # Bubble, Selection, Insertion, Cycle, Merge, Quick Sort & Recursive variants
βββ Recursion/ # Fundamentals, recursion-based sorting/searching, arrays, strings & recursion problems
βββ Questions/
β βββ Arrays/ # Binary Search interview problems
β βββ BitwiseOperators/ # Bit manipulation questions
β βββ Numbers/ # Number theory problems
β βββ Patterns/ # Pattern printing (iterative & recursive)
βββ Notes/ # Reference notes
βββ LeetCode/
βββ Arrays/ # Array problems β 40+ solutions (Two Sum, Stock, Missing Number, Grid, etc.)
βββ BinarySearch/ # Rotated Arrays, Mountain Arrays, Peak Element, Search Insert, Sqrt, etc.
βββ BitManipulation/ # Reverse Bits, Hamming Weight, Power of Two, Steps to Zero
βββ DynamicProgramming/ # Fibonacci, Climbing Stairs, Pascal Triangle II, DP contests
βββ Enum/ # Enumeration-based problems
βββ Graphs/ # Graph traversal & connectivity problems
βββ Greedy/ # Cookies, Asteroids, Energy, Subsequences, Greedy contests
βββ LinkedList/ # Add Two Numbers, Delete Middle, Twin Sum
βββ Maths/ # Clock Angle, Nim Game, FizzBuzz, Digit Sum, GCD
βββ Misc/ # Miscellaneous easy/interview problems
βββ Numbers/ # Number theory, GCD, Prime, Perfect Square, Digit problems
βββ PrefixSum/ # Prefix Sum and Difference Array problems
βββ Recursion/ # Recursive problem solving
βββ SlidingWindow/ # Longest Substring, Contains Duplicate II, Sliding Window problems
βββ Strings/ # String manipulation, Anagram, Parentheses, Palindrome, Passwords, etc.
βββ Tree/ # Binary Tree construction and tree problems
βββ TwoPointers/ # Two-pointer techniques, Happy Number, Move Zeroes, Reverse String
βββ Unsolved/ # Work-in-progress and unsolved problems
- πΊ Kunal Kushwaha's DSA Bootcamp Playlist
- π» Original Bootcamp Repository
- π§© My LeetCode Profile
This repo is free for everyone β no paywalls, no paid courses. If it's helped you or you want to support the journey:
- Complete Recursion Module
- Complete Object-Oriented Module
- Complete Linked Lists Module
- Complete Trees & Graphs Module
- Complete Collections
- Publish Free DSA Notes
β Star this repo if you're on the same journey β it keeps me going!