{"id":17514076,"url":"https://github.com/ankitt20/dsa","last_synced_at":"2025-04-11T05:37:42.589Z","repository":{"id":250054729,"uuid":"833211809","full_name":"ankitT20/DSA","owner":"ankitT20","description":"Daily DSA practice in Java. Problems from Pepcoding. Committing solutions regularly to improve algorithm skills.","archived":false,"fork":false,"pushed_at":"2025-03-16T14:20:46.000Z","size":359,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T03:41:31.194Z","etag":null,"topics":["java","java-8","java8","jvm"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ankitT20.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-24T15:16:13.000Z","updated_at":"2025-03-16T14:20:49.000Z","dependencies_parsed_at":"2024-08-11T15:45:02.469Z","dependency_job_id":"1cd845b4-e91c-429c-97ae-cb070240ddb3","html_url":"https://github.com/ankitT20/DSA","commit_stats":{"total_commits":136,"total_committers":2,"mean_commits":68.0,"dds":"0.014705882352941124","last_synced_commit":"051887658c5118fdf84520fd37878a630d2b1fe7"},"previous_names":["ankitt20/dsa"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankitT20%2FDSA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankitT20%2FDSA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankitT20%2FDSA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ankitT20%2FDSA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ankitT20","download_url":"https://codeload.github.com/ankitT20/DSA/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248350100,"owners_count":21089194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","java-8","java8","jvm"],"created_at":"2024-10-20T07:07:52.569Z","updated_at":"2025-04-11T05:37:42.579Z","avatar_url":"https://github.com/ankitT20.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DSA JAVA Pepcoding\n[Pepcoding DSA - Level 1 | 554 videos](https://www.youtube.com/playlist?list=PL-Jc9J83PIiFj7YSPl2ulcpwy-mwj1SSk)  \n\n**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.*  \n\nThis 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.**  \n\nSee [JAVA/DSAjava/src](https://github.com/ankitT20/DSA/tree/main/JAVA/DSAjava/src)\n  \n\n## Modules and Lectures\n\n1. Basics of Programming \n   - [x] JAVA for C++ Coders\n   - [x] Getting Started\n   - [x] Patterns\n   - [x] Heap 2\n   - [x] Function and Arrays\n   - [x] 2D Arrays\n   - [x] String, String Builder and ArrayList\n\n2. Recursion and Backtracking \n   - [x] Introduction to Recursion\n   - [x] Recursion in Arrays\n   - [x] Recursion with Arraylists\n   - [x] Recursion on the way up\n   - [x] Recursion Backtracking\n\n3. Dynamic Programming \n   - [x] Dynamic Programming and Greedy\n   - [x] Time and Space Complexity\n\n4. OOPS  \n   - [x] OOPS\n\n5. Basic Data Structures \n   - [x] Stacks and Queues\n   - [x] Linked Lists\n   - [x] Generic Tree\n   - [x] Binary Tree\n   - [x] Binary Search Tree\n\n6. Advanced Data Structure \n   - [ ] Hashmap And Heap\n   - [ ] Graphs\n\n7. Miscellaneous \n   - [ ] JAVA for C++ Coders\n   - [ ] LeetCode\n  \n  \n  \n\u003c!--   \n\u003e Key concepts learned from playlist:\n\u003e \n\u003e **Data Structures**\n\u003e \n\u003e 1. Variables in Java\n\u003e 2. Loops (Java Foundation Course | Lecture 8)\n\u003e 3. Conditional Statements (If, Else if and Else) (Java Foundation Course | Lecture 5)\n\u003e \n\u003e **Functions**\n\u003e \n\u003e 1. Introduction to Functions\n\u003e \n\u003e **Number Systems**\n\u003e \n\u003e 1. Decimal to any Base (Introduction to Number System | Lecture 15)\n\u003e 2. Any base to decimal (Introduction to Number System | Lecture 16)\n\u003e 3. Any base to any base (Introduction to Number System | Lecture 18)\n\u003e \n\u003e **Arrays**\n\u003e \n\u003e 1. Arrays - Memory (Introduction to Arrays | Lecture 19)\n\u003e 2. Find Element in Array (Introduction to Arrays | Lecture 20)\n\u003e 3. Sum of two arrays (Introduction to Arrays | Lecture 21)\n\u003e 4. Difference of two arrays (Introduction to Arrays | Lecture 22)\n\u003e \n\u003e **Stacks and Queues**\n\u003e \n\u003e 1. Introduction to Stacks and its usage\n\u003e 2. Duplicate Brackets (Introduction to Stacks and its usage | Lecture 23)\n\u003e 3. Balanced Brackets (Introduction to Stacks and its usage | Lecture 24)\n\u003e 4. Next Greater Element on the Right (Introduction to Stacks and its usage | Lecture 25)\n\u003e 5. Stock Span (Introduction to Stacks and its usage | Lecture 26)\n\u003e 6. Largest Area Histogram (Introduction to Stacks and its usage | Lecture 27)\n\u003e 7. Sliding Window Maximum (Introduction to Stacks and its usage | Lecture 28)\n\u003e 8. Infix Evaluation (Introduction to Stacks and its usage | Lecture 29)\n\u003e \n\u003e **Queues**\n\u003e \n\u003e 1. Queues | Introduction and Usage\n\u003e \n\u003e **Object-Oriented Programming (OOPs)**\n\u003e \n\u003e 1. OOP's - Classes and Objects\n\u003e 2. Build Normal Stack (OOP's - Classes and Objects | Lecture 31)\n\u003e 3. Build Dynamic Stack (OOP's - Classes and Objects | Lecture 32)\n\u003e 4. Minimum Stack - 1 (OOP's - Classes and Objects | Lecture 33)\n\u003e 5. Minimum Stack - 2 (OOP's - Classes and Objects | Lecture 34)\n\u003e \n\u003e **Miscellaneous**\n\u003e \n\u003e 1. Prime Factorization (Java Foundation Course | Lecture 29)\n\u003e 2. Pythagorean Triplets (Java Foundation Course | Lecture 30)\n\u003e 3. Pattern-based questions (Pattern-1 to Pattern-20)\n --\u003e  \n### Others (DSA in C++)\n\u003e [!TIP]\n\u003e [Playlist](https://www.youtube.com/playlist?list=PLQEaRBV9gAFu4ovJ41PywklqI7IyXwr01)\n\u003e \n\u003e [Homework](https://drive.google.com/drive/folders/1N9UUtFHRe5a8h1vq3iEVEyvXM5sZDRHv)\n\u003e \n\u003e [Service Based Company Roadmap](https://docs.google.com/document/d/1G5PaQZnAXNI7X26j-CBAMQY3x1E6_wEnUkLsLnkSGr4/edit)\n\u003e \n\u003e ### Array Problems\n\u003e 1. Find the smallest/largest number in an array\n\u003e 2. Second smallest and second largest element in an array\n\u003e 3. Reverse a given array\n\u003e 4. Count frequency of each element in an array\n\u003e 5. Rearrange array in increasing-decreasing order\n\u003e 6. Calculate sum of the elements of the array\n\u003e 7. Rotate array by K elements\n\u003e 8. Find the median of the given array\n\u003e 9. Remove duplicates from a sorted/unsorted array\n\u003e 10. Find all repeating/non-repeating elements in an array\n\u003e 11. Maximum product subarray in an array\n\u003e 12. Replace each element of the array by its rank\n\u003e 13. Sorting elements of an array by frequency\n\u003e 14. Finding equilibrium index of an array\n\u003e 15. Check if an array is a subset of another array\n\u003e 16. Element with left side smaller and right side greater\n\u003e 17. Buildings receiving sunlight\n\u003e 18. Swap Kth elements\n\u003e 19. Sum of middle elements of two sorted arrays\n\u003e \n\u003e ### Number Problems\n\u003e 1. Check if a number is palindrome/prime/Armstrong/perfect\n\u003e 2. Find all palindrome/prime numbers in a given range\n\u003e 3. Even or odd\n\u003e 4. Sum of first N natural numbers\n\u003e 5. Find sum of AP/GP series\n\u003e 6. Greatest of two/three numbers\n\u003e 7. Leap year or not\n\u003e 8. Reverse digits of a number\n\u003e 9. Print Fibonacci up to Nth term\n\u003e 10. Factorial of a number\n\u003e 11. Power of a number\n\u003e 12. Factors of a given number\n\u003e 13. GCD and LCM of two numbers\n\u003e 14. Check if a number is a Harshad/abundant number\n\u003e 15. Permutations in which N people can occupy R seats\n\u003e 16. Program to add two fractions\n\u003e 17. Replace all 0s with 1s in a given integer\n\u003e 18. Can a number be expressed as a sum of two prime numbers\n\u003e 19. Calculate the area of a circle\n\u003e 20. Program to find roots of a quadratic equation\n\u003e 21. Automorphic number\n\u003e 22. Compound interest\n\u003e 23. 12-hour clock multiplication\n\u003e 24. Count odd factors\n\u003e 25. Perfect squares in a range\n\u003e \n\u003e ### Number System Problems\n\u003e 1. Convert between binary, decimal, and octal\n\u003e 2. Convert digits/numbers to words\n\u003e \n\u003e ### Sorting Algorithms\n\u003e 1. Bubble sort\n\u003e 2. Selection sort\n\u003e 3. Insertion sort\n\u003e 4. Quick sort\n\u003e 5. Merge sort\n\u003e 6. Heap sort\n\u003e \n\u003e ### String Problems\n\u003e 1. Check if a given string is palindrome\n\u003e 2. Count vowels, consonants, spaces in a string\n\u003e 3. Remove vowels/spaces/brackets from a string\n\u003e 4. Reverse a string\n\u003e 5. Capitalize first and last character of each word\n\u003e 6. Calculate frequency of characters in a string\n\u003e 7. Check if two strings are anagrams\n\u003e 8. Find the largest word in a string\n\u003e 9. Count number of words in a string\n\u003e 10. Concatenate strings\n\u003e 11. Find a substring and its position\n\u003e 12. Reverse words in a string\n\u003e 13. Convert Roman numerals to decimal\n\u003e 14. Most frequent word in an array of strings\n\u003e 15. Sentence palindrome\n\u003e 16. Remove common characters and concatenate\n\u003e \n\u003e ### Searching Problems\n\u003e 1. Binary search\n\u003e 2. Linear search\n\u003e \n\u003e ### Matrix Problems\n\u003e 1. Program for addition of two matrices\n\u003e 2. Check if two given matrices are identical\n\u003e 3. Rotate image/matrix\n\u003e \n\u003e ### Dynamic Programming\n\u003e 1. 0-1 Knapsack problem\n\u003e 2. Longest increasing subsequence\n\u003e 3. Longest common substring/subsequence\n\u003e 4. Matrix chain multiplication\n\u003e \n\u003e ### Graph and Tree Problems\n\u003e 1. Tree traversals (Inorder, Preorder, Postorder)\n\u003e 2. Binary tree to DLL\n\u003e 3. Largest BST in a binary tree\n\u003e 4. AVL tree deletion\n\u003e 5. N-Queen problem\n\u003e \n\u003e ### Advanced Problems\n\u003e 1. Longest palindromic substring\n\u003e 2. Next permutation\n\u003e 3. Minimum platforms problem\n\u003e 4. Job sequencing problem\n\u003e 5. Wildcard pattern matching\n\u003e 6. The celebrity problem\n\u003e 7. Travelling salesman problem\n\u003e ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fankitt20%2Fdsa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fankitt20%2Fdsa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fankitt20%2Fdsa/lists"}