An open API service indexing awesome lists of open source software.

https://github.com/ankitt20/dsa

Daily DSA practice in Java. Problems from Pepcoding. Committing solutions regularly to improve algorithm skills.
https://github.com/ankitt20/dsa

java java-8 java8 jvm

Last synced: 11 months ago
JSON representation

Daily DSA practice in Java. Problems from Pepcoding. Committing solutions regularly to improve algorithm skills.

Awesome Lists containing this project

README

          

# DSA JAVA Pepcoding
[Pepcoding DSA - Level 1 | 554 videos](https://www.youtube.com/playlist?list=PL-Jc9J83PIiFj7YSPl2ulcpwy-mwj1SSk)

**I am on a journey to master Data Structures and Algorithms in Java**, while also deepening my understanding of core Java concepts. *This repository contains my daily progress with solutions to problems from Pepcoding’s DSA course. I commit regularly to track my growth and improve problem-solving skills.*

This repository showcases my journey in learning Java programming through 200 video tutorials. Covering a wide range of topics, from basic data structures and functions to object-oriented programming and stack/queue implementations, I have solved more than 70 questions on key topics such as prime numbers, patterns, arrays, and stacks. Each problem, from basic conditionals to advanced algorithms, has significantly strengthened my understanding of Java and DSA concepts. **This repository reflects my consistent practice and progress toward mastering DSA in Java.**

See [JAVA/DSAjava/src](https://github.com/ankitT20/DSA/tree/main/JAVA/DSAjava/src)

## Modules and Lectures

1. Basics of Programming
- [x] JAVA for C++ Coders
- [x] Getting Started
- [x] Patterns
- [x] Heap 2
- [x] Function and Arrays
- [x] 2D Arrays
- [x] String, String Builder and ArrayList

2. Recursion and Backtracking
- [x] Introduction to Recursion
- [x] Recursion in Arrays
- [x] Recursion with Arraylists
- [x] Recursion on the way up
- [x] Recursion Backtracking

3. Dynamic Programming
- [x] Dynamic Programming and Greedy
- [x] Time and Space Complexity

4. OOPS  
- [x] OOPS

5. Basic Data Structures
- [x] Stacks and Queues
- [x] Linked Lists
- [x] Generic Tree
- [x] Binary Tree
- [x] Binary Search Tree

6. Advanced Data Structure
- [ ] Hashmap And Heap
- [ ] Graphs

7. Miscellaneous
- [ ] JAVA for C++ Coders
- [ ] LeetCode




### Others (DSA in C++)
> [!TIP]
> [Playlist](https://www.youtube.com/playlist?list=PLQEaRBV9gAFu4ovJ41PywklqI7IyXwr01)
>
> [Homework](https://drive.google.com/drive/folders/1N9UUtFHRe5a8h1vq3iEVEyvXM5sZDRHv)
>
> [Service Based Company Roadmap](https://docs.google.com/document/d/1G5PaQZnAXNI7X26j-CBAMQY3x1E6_wEnUkLsLnkSGr4/edit)
>
> ### Array Problems
> 1. Find the smallest/largest number in an array
> 2. Second smallest and second largest element in an array
> 3. Reverse a given array
> 4. Count frequency of each element in an array
> 5. Rearrange array in increasing-decreasing order
> 6. Calculate sum of the elements of the array
> 7. Rotate array by K elements
> 8. Find the median of the given array
> 9. Remove duplicates from a sorted/unsorted array
> 10. Find all repeating/non-repeating elements in an array
> 11. Maximum product subarray in an array
> 12. Replace each element of the array by its rank
> 13. Sorting elements of an array by frequency
> 14. Finding equilibrium index of an array
> 15. Check if an array is a subset of another array
> 16. Element with left side smaller and right side greater
> 17. Buildings receiving sunlight
> 18. Swap Kth elements
> 19. Sum of middle elements of two sorted arrays
>
> ### Number Problems
> 1. Check if a number is palindrome/prime/Armstrong/perfect
> 2. Find all palindrome/prime numbers in a given range
> 3. Even or odd
> 4. Sum of first N natural numbers
> 5. Find sum of AP/GP series
> 6. Greatest of two/three numbers
> 7. Leap year or not
> 8. Reverse digits of a number
> 9. Print Fibonacci up to Nth term
> 10. Factorial of a number
> 11. Power of a number
> 12. Factors of a given number
> 13. GCD and LCM of two numbers
> 14. Check if a number is a Harshad/abundant number
> 15. Permutations in which N people can occupy R seats
> 16. Program to add two fractions
> 17. Replace all 0s with 1s in a given integer
> 18. Can a number be expressed as a sum of two prime numbers
> 19. Calculate the area of a circle
> 20. Program to find roots of a quadratic equation
> 21. Automorphic number
> 22. Compound interest
> 23. 12-hour clock multiplication
> 24. Count odd factors
> 25. Perfect squares in a range
>
> ### Number System Problems
> 1. Convert between binary, decimal, and octal
> 2. Convert digits/numbers to words
>
> ### Sorting Algorithms
> 1. Bubble sort
> 2. Selection sort
> 3. Insertion sort
> 4. Quick sort
> 5. Merge sort
> 6. Heap sort
>
> ### String Problems
> 1. Check if a given string is palindrome
> 2. Count vowels, consonants, spaces in a string
> 3. Remove vowels/spaces/brackets from a string
> 4. Reverse a string
> 5. Capitalize first and last character of each word
> 6. Calculate frequency of characters in a string
> 7. Check if two strings are anagrams
> 8. Find the largest word in a string
> 9. Count number of words in a string
> 10. Concatenate strings
> 11. Find a substring and its position
> 12. Reverse words in a string
> 13. Convert Roman numerals to decimal
> 14. Most frequent word in an array of strings
> 15. Sentence palindrome
> 16. Remove common characters and concatenate
>
> ### Searching Problems
> 1. Binary search
> 2. Linear search
>
> ### Matrix Problems
> 1. Program for addition of two matrices
> 2. Check if two given matrices are identical
> 3. Rotate image/matrix
>
> ### Dynamic Programming
> 1. 0-1 Knapsack problem
> 2. Longest increasing subsequence
> 3. Longest common substring/subsequence
> 4. Matrix chain multiplication
>
> ### Graph and Tree Problems
> 1. Tree traversals (Inorder, Preorder, Postorder)
> 2. Binary tree to DLL
> 3. Largest BST in a binary tree
> 4. AVL tree deletion
> 5. N-Queen problem
>
> ### Advanced Problems
> 1. Longest palindromic substring
> 2. Next permutation
> 3. Minimum platforms problem
> 4. Job sequencing problem
> 5. Wildcard pattern matching
> 6. The celebrity problem
> 7. Travelling salesman problem
>