{"id":24588433,"url":"https://github.com/atlas-b28/roadmap-dsa","last_synced_at":"2026-04-13T05:39:06.984Z","repository":{"id":191576252,"uuid":"684942131","full_name":"ATLAS-B28/Roadmap-DSA","owner":"ATLAS-B28","description":"DSA prep","archived":false,"fork":false,"pushed_at":"2024-06-15T13:56:37.000Z","size":30455,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T07:15:11.649Z","etag":null,"topics":["cpp","ctci-6th","dsa","golang","interview-questions","java","python","typescript"],"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/ATLAS-B28.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":"2023-08-30T07:05:39.000Z","updated_at":"2024-06-15T13:56:41.000Z","dependencies_parsed_at":"2023-09-11T07:24:23.582Z","dependency_job_id":"fe9dcd56-c9aa-4142-9b27-5386a8ca20ad","html_url":"https://github.com/ATLAS-B28/Roadmap-DSA","commit_stats":null,"previous_names":["atlas-b28/prepv2","atlas-b28/roadmap-dsa"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATLAS-B28%2FRoadmap-DSA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATLAS-B28%2FRoadmap-DSA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATLAS-B28%2FRoadmap-DSA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATLAS-B28%2FRoadmap-DSA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ATLAS-B28","download_url":"https://codeload.github.com/ATLAS-B28/Roadmap-DSA/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244102850,"owners_count":20398386,"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":["cpp","ctci-6th","dsa","golang","interview-questions","java","python","typescript"],"created_at":"2025-01-24T07:15:21.639Z","updated_at":"2025-12-31T00:17:42.538Z","avatar_url":"https://github.com/ATLAS-B28.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Roadmap-DSA - \nAll the core concepts regarding Data Structures and algorithms and Interview Questions are actively added from various sources in Java, C, C++, Typescript, and Go language.\nThe main focus is on the JAVA.\n## Why Java?\nJava is a write-once-run-anywhere language, it is a statically typed compiled language used in all the major systems and applications.\nMany companies all across the industry therefore require Java and that's why the DSA concepts in Java are very crucial.\nFor basics of Java - https://github.com/ATLAS-B28/java-tut.\nFor CtCI library and questions refer to the original - https://github.com/careercup/CtCI-6th-Edition/tree/master.\nIt is used to learn and practice the questions in the book - CtCI.\nAlso, it has the CtCI library which is not mine.\n\nCurrently, Doing -\n1. CtCI and LeetCode questions underway.\n2. DP will be implemented soon\n3. Also preparing using coding interview patterns - https://github.com/ATLAS-B28/interview_patterns .The original is -https://dvpr.gitbook.io/coding-interview-patterns/\n\n## Why Go?\nGO language started as an internal language at GOOGLE for their server code and now is rapidly gaining ground in the industry. GO has very simple syntax but \nhas a very C/C++-like execution speed and can do concurrency and garbage collection. Therefore, learning DSA concepts in GO is very helpful.\n\n## Why C/C++ ?\nC/C++ languages have been used for a long time and will teach us to manage memory and concurrency. Also, it has the STL in-built which enables us to use various parts like containers. Useful to program complex and fast systems, here are often used in DSA.\n\n## Why Typescript? \nTypescript is built upon Javascript and adds a type system to it. \nThe Kata-Machine library is from ThePrimegean and not mine and will be used for his course on DSA.\n\n## Why Python?\nPython language is versatile and has easy to understand syntax.\n\n## Why Scala?\nScala is JVM functional language. \n\n## Languages Used - \n\n[![My Skills](https://skillicons.dev/icons?i=java,go,c,cpp,ts,js,python,scala)](https://skillicons.dev)\n\n### Arrrays Questions-\n[Leetcode](https://leetcode.com/discuss/interview-question/operating-system/4417164/Basic-to-Advanced-Array-Questions-with-Techniques) \nBasic Level:\n\nFind the maximum element in an array.\n    Technique: Iteration through the array.\n\nFind the minimum element in an array.\n    Technique: Iteration through the array.\n\nCalculate the sum of all elements in an array.\n    Technique: Iteration through the array.\n\nReverse an array.\n    Technique: Two-pointer approach or iterative swapping.\n\nCheck if an array is sorted.\n    Technique: Iteration through the array.\n\nRemove duplicates from a sorted array.\n    Technique: Two-pointer approach.\n\nRotate an array to the right by k steps.\n    Technique: Basic array manipulation.\n\nImplement an algorithm to find the \"Kth\" largest element in an array.\n    Technique: Sorting or use of max heap.\n\nImplement an algorithm to find the \"Kth\" smallest element in an array.\n    Technique: Sorting or use of min heap.\n\nMove all zeroes to the end of the array.\n    Technique: Two-pointer approach.\nIntermediate Level:\n\nImplement an algorithm to rotate an NxN matrix by 90 degrees.\n    Technique: Transpose and reverse or use of extra space.\n\nImplement an algorithm to find pairs in an array that sum up to a specific target.\n    Technique: Two-pointer approach or hash table.\n\nImplement an algorithm to perform a cyclic rotation in a given array.\n    Technique: Cyclic Sort.\n\nFind the \"celebrity\" in a party using a given array of people.\n    Technique: Two-pointer approach.\n\nImplement an algorithm to find the contiguous subarray with the largest sum (Kadane's algorithm).\n    Technique: Dynamic Programming.\n\nImplement an algorithm to merge two sorted arrays.\n    Technique: Merge Sort or Two-pointer approach.\n\nImplement an algorithm to search for an element in a rotated sorted array.\n    Technique: Modified Binary Search.\n\nImplement an algorithm to find the intersection of two arrays.\n    Technique: Hashing or Two-pointer approach.\n\nImplement an algorithm to find the majority element in an array.\n    Technique: Boyer-Moore Voting Algorithm.\n\nImplement an algorithm to find the longest increasing subsequence in an array.\n    Technique: Dynamic Programming.\nAdvanced Level:\n\nImplement an algorithm to find the first missing positive integer in an unsorted array.\n    Technique: Cyclic Sort.\n\nImplement an algorithm to sort an array of 0s, 1s, and 2s (Dutch National Flag problem).\n    Technique: Dutch National Flag algorithm or Two-pointer approach.\n\nImplement an algorithm to find the longest subarray with at most two distinct elements.\n    Technique: Sliding Window.\n\nImplement an algorithm to find the median of two sorted arrays.\n    Technique: Binary Search.\n\nImplement an algorithm to rotate an array to the right by k steps without using extra space.\n    Technique: Reverse the array in parts.\n\nImplement an algorithm to find the shortest subarray with a sum at least K.\n    Technique: Sliding Window.\n\nImplement an algorithm to find the equilibrium index of an array.\n    Technique: Prefix Sum.\n\nImplement an algorithm to find the peak element in an array.\n    Technique: Binary Search.\n\nImplement an algorithm to count the number of subarrays with a given sum.\n    Technique: Prefix Sum.\n\nImplement an algorithm to find the contiguous subarray with equal numbers of 0s and 1s.\n    Technique: Prefix Sum or Hashing.\nExpert Level:\n\nImplement an algorithm to efficiently find the maximum product of three numbers in an array.\n    Technique: Sorting or finding max/min elements.\n\nImplement an algorithm to find the length of the longest subarray with sum divisible by k.\n    Technique: Prefix Sum and Hashing.\n\nImplement an algorithm to find the minimum window in an array that contains all elements of another array.\n    Technique: Sliding Window.\n\nImplement an algorithm to find the longest increasing subarray with absolute difference less than or equal to a given number.\n    Technique: Sliding Window.\n\nImplement an algorithm to find the smallest subarray with sum greater than a given value.\n    Technique: Sliding Window.\n\nImplement an algorithm to find the minimum number of platforms needed for a set of train arrivals and departures.\n    Technique: Merge Intervals or Sorting.\n\nImplement an algorithm to find the maximum length subarray with sum less than or equal to a given sum.\n    Technique: Sliding Window.\n\nImplement an algorithm to find the subarray with the least average.\n    Technique: Sliding Window.\n\nImplement an algorithm to efficiently rotate an NxN matrix by 90 degrees in place.\n    Technique: Transpose and reverse.\n\nImplement an algorithm to find the longest subarray with at most K distinct elements.\n    Technique: Sliding Window or Hashing.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatlas-b28%2Froadmap-dsa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatlas-b28%2Froadmap-dsa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatlas-b28%2Froadmap-dsa/lists"}