This repository contains my Java implementations of Data Structures & Algorithms concepts along with handwritten notes created during my learning journey.
DSA/
├── Array-Problems/
├── Arrays/
├── Bit-Manipulation/
├── Matrices/
├── Searching/
├── Sorting/
├── Strings/
├── DSA-Java-notes.pdf
├── README.md
└── .gitignore
- Largest Number in Array
- Reverse Array
- Print Pairs
- Print Subarrays
- Maximum Subarray Sum (Brute Force)
- Maximum Subarray Sum (Prefix Sum)
- Kadane's Algorithm
- Trapping Rainwater
- Buy & Sell Stocks
- Contains Duplicate
- Linear Search
- Binary Search
- Search in Rotated Sorted Array
- Bubble Sort (Ascending & Descending)
- Selection Sort (Ascending & Descending)
- Insertion Sort (Ascending & Descending)
- Counting Sort (Ascending & Descending)
- Java Inbuilt Sorting
- Matrix Search
- Search in Sorted Matrix
- Spiral Matrix
- Diagonal Sum
- Matrix Transpose
- Largest & Smallest Element in Matrix
- Sum of 2nd Row
- Palindrome Check
- String Compression
- Anagrams
- Lexicographical Comparison
- Substrings
- Uppercase Conversion
- Count Vowels
- Shortest Path
- Odd or Even
- Get i-th Bit
- Set i-th Bit
- Clear i-th Bit
- Update i-th Bit
- Clear Last i Bits
- Clear Range of Bits
- Count Set Bits
- Fast Exponentiation
- Swap Without Temporary Variable
- Power of 2 Check
- Add 1 Using NOT Operator
The repository also includes:
- DSA-Java-notes.pdf
- Handwritten notes
- Concept explanations
- Algorithms
- Time & Space Complexity analysis
- Important observations and formulas
- Java
- VS Code
- Git & GitHub
This repository is maintained to:
- Practice Data Structures & Algorithms
- Strengthen problem-solving skills
- Prepare for coding interviews and online assessments
- Track learning progress
Currently learning and adding more DSA topics regularly.