Skip to content

Comprehensive repository to track my progress for SDE preparation, in DSA, System Design and CS Core. Includes Striver, NeetCode, DonneMartin, and more.

Notifications You must be signed in to change notification settings

arindal1/SDE-DSA-SD-Prep

Repository files navigation


Welcome to my comprehensive SDE Interview Prep repository! This repo is a one-stop hub that covers A-Z of Data Structures and Algorithms, System Design and CS Core crafted specifically for mastering technical interviews at product-based companies and high-growth startups.

Each problem is thoughtfully categorized, solved in C++, and accompanied by detailed Markdown explanations to help you understand the logic, intuition, and edge cases. Whether you're brushing up on fundamentals or tackling advanced topics β€” this repo's got you.

πŸ“Œ DSA Sources: Striver's A2Z , NeetCode 150 , Blind 75 , Top Interview 150
πŸ“Œ System Design Sources: System Design Primer


πŸ“ Data Structures and Algorithms

[ πŸ“„ .md files for explanation | πŸ’» .cpp files for code implementation ]

🧠 Basics


Category Problem / Algorithm Explanation Code
πŸ“˜ 1. Maths Count the Digits πŸ“„ MD –
πŸ“˜ 1. Maths Reverse a Number πŸ“„ MD –
πŸ“˜ 1. Maths Palindrome Number πŸ“„ MD –
πŸ“˜ 1. Maths GCD πŸ“„ MD –
πŸ“˜ 1. Maths Armstrong Number πŸ“„ MD –
πŸ“˜ 1. Maths All Divisors πŸ“„ MD –
πŸ“˜ 1. Maths Check Prime πŸ“„ MD –
πŸ” 2. Recursion Print N Names πŸ“„ MD πŸ’» CPP
πŸ” 2. Recursion 1 to N πŸ“„ MD πŸ’» CPP
πŸ” 2. Recursion N to 1 πŸ“„ MD πŸ’» CPP
πŸ” 2. Recursion Sum of N πŸ“„ MD πŸ’» CPP
πŸ” 2. Recursion Factorial of N πŸ“„ MD πŸ’» CPP
πŸ” 2. Recursion Reverse Array πŸ“„ MD πŸ’» CPP
πŸ” 2. Recursion Palindrome String πŸ“„ MD πŸ’» CPP
πŸ” 2. Recursion Fibonacci πŸ“„ MD πŸ’» CPP
πŸ” 3. Hashing Frequency of Array Elements πŸ“„ MD πŸ’» CPP
πŸ” 3. Hashing Highest & Lowest Freq Element πŸ“„ MD πŸ’» CPP
πŸ” 3. Hashing First Unique Character πŸ“„ MD πŸ’» CPP
πŸ” 3. Hashing Find Difference πŸ“„ MD πŸ’» CPP
πŸ” 3. Hashing Find Duplicates πŸ“„ MD πŸ’» CPP
πŸ” 3. Hashing Is Anagram πŸ“„ MD πŸ’» CPP

πŸ”’ Sorting


Category Problem / Algorithm Explanation Code
πŸ“‘ 1. Elementary Selection Sort πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Elementary Bubble Sort πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Elementary Insertion Sort πŸ“„ MD πŸ’» CPP
πŸ“ˆ 2. Advanced Merge Sort πŸ“„ MD πŸ’» CPP
πŸ“ˆ 2. Advanced Quick Sort πŸ“„ MD πŸ’» CPP
πŸ“ˆ 2. Advanced Heap Sort πŸ“„ MD πŸ’» CPP
πŸ“ˆ 2. Advanced Radix Sort πŸ“„ MD πŸ’» CPP

♠️ Arrays


Category Problem / Algorithm Explanation Code
πŸ“‘ 1. Easy Largest Element in the Array πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Second Largest Element in the Array πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Is Array Sorted? πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Remove Duplicates from Array πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Left Rotate by One πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Rotate Array by K Places πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Shift Zeros to End πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Linear Search πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Find The Union πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Find The Intersection πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Find The Missing Number πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Max Consecutive Ones πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Number that Appears Once πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Longest Subarray with Sum K πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Remove K From Array πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy One Plus πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Remove Value From Array πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Container With Most Water πŸ“„ MD πŸ’» CPP
πŸ“‘ 1. Easy Move Zeros To End πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Two Sum πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Sort an Array of 0s, 1s & 2s πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Majority Element - I [> n/2] πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Maximum Sub-Array Sum πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Best Time to Buy and Sell Stock πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Rearrange Elements by Sign [Alternating] πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Next Permutation πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Leaders in an Array πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Longest Consecutive Sequence πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Set Matrix Zeros πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Rotate Matrix By 90 Degrees πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Matrix Spiral Traversal πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Sub Arrays With Sum K πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Partition Labels πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Sorted Array Squares πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Boats To Save People πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Simple Bank System πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Laser Beams in a Bank πŸ“„ MD πŸ’» CPP
πŸ“ƒ 2. Medium Count Ungaurded Cells πŸ“„ MD πŸ’» CPP
πŸ“œ 2. Hard Pascal's Triangle πŸ“„ MD πŸ’» CPP
πŸ“œ 2. Hard Majority Element - II [> n/3] πŸ“„ MD πŸ’» CPP
πŸ“œ 2. Hard Three Sum πŸ“„ MD πŸ’» CPP
πŸ“œ 2. Hard Four Sum πŸ“„ MD πŸ’» CPP
πŸ“œ 2. Hard Count Subarrays with Xor K πŸ“„ MD πŸ’» CPP
πŸ“œ 2. Hard Merge Overlapping Intervals πŸ“„ MD πŸ’» CPP
πŸ“œ 2. Hard Merge Sorted Arrays πŸ“„ MD πŸ’» CPP
πŸ“œ 2. Hard Find Repeating and Missing Numbers πŸ“„ MD πŸ’» CPP
πŸ“œ 2. Hard Count Inversions πŸ“„ MD πŸ’» CPP
πŸ“œ 2. Hard Reverse Pairs πŸ“„ MD πŸ’» CPP
πŸ“œ 2. Hard Maximum Product Subarray πŸ“„ MD πŸ’» CPP
πŸ“œ 2. Hard Product of Array except Self πŸ“„ MD πŸ’» CPP

πŸ” Binary Search


Category Problem / Algorithm Explanation Code
⁉️ 3. BS on 1D Binary Search on Sorted Array πŸ“„ MD πŸ’» CPP
⁉️ 3. BS on 1D Search Insert Position πŸ“„ MD πŸ’» CPP
⁉️ 3. BS on 1D First and Last Occurance in a Sorted Array πŸ“„ MD πŸ’» CPP
⁉️ 3. BS on 1D Search in a Rotated Sorted Array - I πŸ“„ MD πŸ’» CPP
⁉️ 3. BS on 1D Search in a Rotated Sorted Array - II πŸ“„ MD πŸ’» CPP
⁉️ 3. BS on 1D Minimum in Rotated Sorted Array πŸ“„ MD πŸ’» CPP
⁉️ 3. BS on 1D Single Element in a Sorted Array πŸ“„ MD πŸ’» CPP
⁉️ 3. BS on 1D Find Peak Element - I πŸ“„ MD πŸ’» CPP
⁉️ 3. BS on 1D Arranging Coins πŸ“„ MD πŸ’» CPP
⁉️ 3. BS on 1D First Bad Version πŸ“„ MD πŸ’» CPP
‼️ 2. BS on Answers Koko Eating Bananas πŸ“„ MD πŸ’» CPP
‼️ 2. BS on Answers Days to make M Bouquets πŸ“„ MD πŸ’» CPP
‼️ 2. BS on Answers Smallest Divisor within the Threshold πŸ“„ MD πŸ’» CPP
‼️ 2. BS on Answers Capacity to Ship within D Days πŸ“„ MD πŸ’» CPP
‼️ 2. BS on Answers Find the K-th Missing Element πŸ“„ MD πŸ’» CPP
‼️ 2. BS on Answers Aggressive Cows πŸ“„ MD πŸ’» CPP
‼️ 2. BS on Answers Book Allocation πŸ“„ MD πŸ’» CPP
‼️ 2. BS on Answers Split Array to Largest Sum πŸ“„ MD πŸ’» CPP
‼️ 2. BS on Answers Minimize Max Distance between Gas Stations πŸ“„ MD πŸ’» CPP
‼️ 2. BS on Answers Median of Two Sorted Arrays πŸ“„ MD πŸ’» CPP
‼️ 2. BS on Answers Time Map πŸ“„ MD πŸ’» CPP
⁉️ 3. BS on 2D Row with Maximum 1s πŸ“„ MD πŸ’» CPP
⁉️ 3. BS on 2D Search in a 2D Matrix - I πŸ“„ MD πŸ’» CPP
⁉️ 3. BS on 2D Search in a 2D Matrix - II πŸ“„ MD πŸ’» CPP
⁉️ 3. BS on 2D Find Peak Element - II πŸ“„ MD πŸ’» CPP

🧡 Strings


Category Problem / Algorithm Explanation Code
πŸ• Easy Remove Outer Parenthesis πŸ“„ MD πŸ’» CPP
πŸ• Easy Largest Odd Number πŸ“„ MD πŸ’» CPP
πŸ• Easy Longest Common Prefix πŸ“„ MD πŸ’» CPP
πŸ• Easy Isomorphic Strings πŸ“„ MD πŸ’» CPP
πŸ• Easy Rotate String πŸ“„ MD πŸ’» CPP
πŸ• Easy Is Anagram ? πŸ“„ MD πŸ’» CPP
πŸ• Easy Valid Palindrome πŸ“„ MD πŸ’» CPP
🐈 Medium Frequency Sort πŸ“„ MD πŸ’» CPP
🐈 Medium Max Depth of Parenthesis πŸ“„ MD πŸ’» CPP
🐈 Medium Roman to Integer πŸ“„ MD πŸ’» CPP
🐈 Medium String to Integer (ATOI) πŸ“„ MD πŸ’» CPP
🐈 Medium Longest Palindrome Substrings πŸ“„ MD πŸ’» CPP
🐈 Medium Sum of Beauty of Substrings πŸ“„ MD πŸ’» CPP
🐈 Medium Reverse Words in a String πŸ“„ MD πŸ’» CPP
🐈 Medium Group Anagrams πŸ“„ MD πŸ’» CPP
🐈 Medium Longest Substring without Repeating Char πŸ“„ MD πŸ’» CPP

πŸ”— Linked Lists


Category Problem / Algorithm Explanation Code
➑️ Singly LL Linked List Constructors πŸ“„ MD πŸ’» CPP
➑️ Singly LL Array to Linked List πŸ“„ MD πŸ’» CPP
➑️ Singly LL Insertion at Head πŸ“„ MD πŸ’» CPP
➑️ Singly LL Insertion at Tail πŸ“„ MD πŸ’» CPP
➑️ Singly LL Insertion at K πŸ“„ MD πŸ’» CPP
➑️ Singly LL Deletion from Head πŸ“„ MD πŸ’» CPP
➑️ Singly LL Deletion from Tail πŸ“„ MD πŸ’» CPP
➑️ Singly LL Deletion from K πŸ“„ MD πŸ’» CPP
➑️ Singly LL Length of Linked List πŸ“„ MD πŸ’» CPP
➑️ Singly LL Search K in Linked List πŸ“„ MD πŸ’» CPP
πŸ”€ Doubly LL Array to DLL πŸ“„ MD πŸ’» CPP
πŸ”€ Doubly LL Insertion at Head πŸ“„ MD πŸ’» CPP
πŸ”€ Doubly LL Insertion at Tail πŸ“„ MD πŸ’» CPP
πŸ”€ Doubly LL Insertion at K πŸ“„ MD πŸ’» CPP
πŸ”€ Doubly LL Deletion from Head πŸ“„ MD πŸ’» CPP
πŸ”€ Doubly LL Deletion from Tail πŸ“„ MD πŸ’» CPP
πŸ”€ Doubly LL Deletion at K πŸ“„ MD πŸ’» CPP
πŸ”€ Doubly LL Reverse a Doubly LL πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Find the middle of a LL πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Reverse a LL (Iterative) πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Reverse a LL (Recursive) πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Detect a Cyclic Linked List πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Find the start of the Loop πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Find the length of the Loop πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Palindrome Linked List πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Odd Even Linked List πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Delete Nth Node from Back πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Delete Middle Note πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Sort Linked List πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Intersection of Two LLs πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Add 1 to a number in LL πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Add two numbers in LL πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Swap Pairs πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Merge Inbetween Zeros πŸ“„ MD πŸ’» CPP
🎯 Medium Singly LL Delete Nodes present in an Array πŸ“„ MD πŸ’» CPP
πŸŒ€ Medium Doubly LL Delete all occurance of Key πŸ“„ MD πŸ’» CPP
πŸŒ€ Medium Doubly LL Pairs with given Sum in DLL πŸ“„ MD πŸ’» CPP
πŸŒ€ Medium Doubly LL Remove Duplicates from a DLL πŸ“„ MD πŸ’» CPP
πŸ’€ Hard Singly LL Reverse LL in a Group πŸ“„ MD πŸ’» CPP
πŸ’€ Hard Singly LL Rotate a LL πŸ“„ MD πŸ’» CPP
πŸ’€ Hard Singly LL Merge 2 Sorted LLs πŸ“„ MD πŸ’» CPP
πŸ’€ Hard Singly LL Merge K sorted LLs πŸ“„ MD πŸ’» CPP
πŸ’€ Hard Singly LL Clone a LL πŸ“„ MD πŸ’» CPP
πŸ’€ Hard Singly LL Browser History πŸ“„ MD πŸ’» CPP

πŸ” Recursion


Category Problem / Algorithm Explanation Code
πŸ™ƒ Basics AOTI πŸ“„ MD πŸ’» CPP
πŸ™ƒ Basics Pow (x, n) πŸ“„ MD πŸ’» CPP
πŸ™ƒ Basics Good Numbers πŸ“„ MD πŸ’» CPP
πŸ™ƒ Basics Sort Stack πŸ“„ MD πŸ’» CPP
πŸ™ƒ Basics Reverse Stack πŸ“„ MD πŸ’» CPP
🫨 Subsquences Generate Binary Strings πŸ“„ MD πŸ’» CPP
🫨 Subsquences Generate Paranthesis πŸ“„ MD πŸ’» CPP
🫨 Subsquences Power Set πŸ“„ MD πŸ’» CPP
🫨 Subsquences Subsequences with Sum K πŸ“„ MD πŸ’» CPP
🫨 Subsquences Subsequences with Sum K - II πŸ“„ MD πŸ’» CPP
🫨 Subsquences Combination Sum πŸ“„ MD πŸ’» CPP
🫨 Subsquences Combination Sum - II πŸ“„ MD πŸ’» CPP
🫨 Subsquences Subsets πŸ“„ MD πŸ’» CPP
🫨 Subsquences Subsets - II πŸ“„ MD πŸ’» CPP
🫨 Subsquences Combination Sum - III πŸ“„ MD πŸ’» CPP
🫨 Subsquences Phone Number Combination πŸ“„ MD πŸ’» CPP
🫨 Subsquences Permutations of a String πŸ“„ MD πŸ’» CPP
🀠 Hard Palindrome Partioning πŸ“„ MD πŸ’» CPP

πŸ“¦ Stack and Queue


Category Problem / Algorithm Explanation Code
🎈 Basics Implement Stack Using Queue πŸ“„ MD πŸ’» CPP
🎈 Basics Implement Queue Using Stacks πŸ“„ MD πŸ’» CPP
🎈 Basics Valid Parenthesis πŸ“„ MD πŸ’» CPP
🎈 Basics Implement Min-Stack πŸ“„ MD πŸ’» CPP
🧨 Expressions Infix 2 Postfix πŸ“„ MD πŸ’» CPP
🧨 Expressions Infix 2 Prefix πŸ“„ MD πŸ’» CPP
🧨 Expressions Postfix 2 Infix πŸ“„ MD πŸ’» CPP
🧨 Expressions Prefix 2 Infix πŸ“„ MD πŸ’» CPP
🧨 Expressions Postfix 2 Prefix πŸ“„ MD πŸ’» CPP
🧨 Expressions Prefix 2 Postfix πŸ“„ MD πŸ’» CPP
πŸŽ† Monotonic DS Next Greater Element (LC) πŸ“„ MD πŸ’» CPP
πŸŽ† Monotonic DS Next Greater Element II πŸ“„ MD πŸ’» CPP
πŸŽ† Monotonic DS Next Smaller Element πŸ“„ MD πŸ’» CPP
πŸŽ† Monotonic DS NGE to Right πŸ“„ MD πŸ’» CPP
πŸŽ† Monotonic DS Trapping Rainwater πŸ“„ MD πŸ’» CPP
πŸŽ† Monotonic DS Sum of Subarray Minimums πŸ“„ MD πŸ’» CPP
πŸŽ† Monotonic DS Astroid Collisions πŸ“„ MD πŸ’» CPP
πŸŽ† Monotonic DS Remove K Digits πŸ“„ MD πŸ’» CPP
πŸŽ† Monotonic DS Largest Rectangle in Histogram πŸ“„ MD πŸ’» CPP
πŸŽ† Monotonic DS Maximum Rectangle πŸ“„ MD πŸ’» CPP
πŸŽƒ Advanced Sliding Window Maximum πŸ“„ MD πŸ’» CPP
πŸŽƒ Advanced Online Stock Span πŸ“„ MD πŸ’» CPP
πŸŽƒ Advanced The Celebrity Problem πŸ“„ MD πŸ’» CPP
πŸŽƒ Advanced LRU Cache πŸ“„ MD πŸ’» CPP
πŸŽƒ Advanced LFU Cache πŸ“„ MD πŸ’» CPP

〽️ Two Pointer and Sliding Window


Category Problem / Algorithm Explanation Code
🎲 Medium Longest Substring without Repeating Characters πŸ“„ MD πŸ’» CPP
🎲 Medium Max Consecutive Ones III πŸ“„ MD πŸ’» CPP
🎲 Medium Fruits in a Basket πŸ“„ MD πŸ’» CPP
🎲 Medium Longest Repeating Character Replacement πŸ“„ MD πŸ’» CPP
🎲 Medium Binary Subarray with Sum K πŸ“„ MD πŸ’» CPP
🎲 Medium Subarrays that are Nice πŸ“„ MD πŸ’» CPP
🧰 Hard Substring w/ K Distinct Characters πŸ“„ MD πŸ’» CPP
🧰 Hard Substring w/ K Different Characters πŸ“„ MD πŸ’» CPP
🧰 Hard Minimum Window Substring πŸ“„ MD πŸ’» CPP

πŸ—» Heaps

Category Problem / Algorithm Explanation Code
🎴 Basics About Priority Queues πŸ“„ MD -
🎴 Basics Binary Min Heap πŸ“„ MD πŸ’» CPP
🎴 Basics Binary max Heap πŸ“„ MD πŸ’» CPP
🎴 Basics Is Array a Min Heap πŸ“„ MD πŸ’» CPP
🎴 Basics Min Heap 2 Max Heap πŸ“„ MD πŸ’» CPP
πŸ€„ Medium Kth Largest Element πŸ“„ MD πŸ’» CPP
πŸ€„ Medium Kth Smallest Element πŸ“„ MD πŸ’» CPP
πŸ€„ Medium Sort Almost Sorted Array πŸ“„ MD πŸ’» CPP
πŸ€„ Medium Task Scheduler πŸ“„ MD πŸ’» CPP
πŸƒ Hard Design Twitter πŸ“„ MD πŸ’» CPP
πŸƒ Hard Connect Sticks πŸ“„ MD πŸ’» CPP
πŸƒ Hard Kth Largest in a Stream πŸ“„ MD πŸ’» CPP
πŸƒ Hard Max Sum Combination πŸ“„ MD πŸ’» CPP
πŸƒ Hard Median in a Data Stream πŸ“„ MD πŸ’» CPP
πŸƒ Hard K Frequent Elements πŸ“„ MD πŸ’» CPP

πŸ€‘ Greedy Algorithm

Category Problem / Algorithm Explanation Code
🀧 Easy Assign Cookies πŸ“„ MD πŸ’» CPP
🀧 Easy Fractional Knapsack πŸ“„ MD πŸ’» CPP
🀧 Easy Minimum Coins πŸ“„ MD πŸ’» CPP
🀧 Easy Lemonade Changes πŸ“„ MD πŸ’» CPP
🀧 Easy Valid Parenthesis πŸ“„ MD πŸ’» CPP
🀐 Medium N Meetings πŸ“„ MD πŸ’» CPP
🀐 Medium Jump Game πŸ“„ MD πŸ’» CPP
🀐 Medium Jump Game II πŸ“„ MD πŸ’» CPP
🀐 Medium Minimum Platforms for Trains πŸ“„ MD πŸ’» CPP
🀐 Medium Job Sequencing πŸ“„ MD πŸ’» CPP
🀐 Medium Candy πŸ“„ MD πŸ’» CPP
🀐 Medium Shortest Job First πŸ“„ MD πŸ’» CPP
🀐 Medium LRU Cache πŸ“„ MD πŸ’» CPP
🀐 Medium Insert Intervals πŸ“„ MD πŸ’» CPP
🀐 Medium Largest Number πŸ“„ MD πŸ’» CPP

🌴 Binary Trees

Category Problem / Algorithm Explanation Code
🌳 Traversals Introductions πŸ“„ MD -
🌳 Traversals Binary Trees in C++ πŸ“„ MD -
🌳 Traversals Preorder - Recursive πŸ“„ MD πŸ’» CPP
🌳 Traversals Inorder - Recursive πŸ“„ MD πŸ’» CPP
🌳 Traversals Postorder - Recursive πŸ“„ MD πŸ’» CPP
🌳 Traversals Level Order πŸ“„ MD πŸ’» CPP
🌳 Traversals Preorder - Iterative πŸ“„ MD πŸ’» CPP
🌳 Traversals Inorder - Iterative πŸ“„ MD πŸ’» CPP
🌳 Traversals Postorder - Iterative πŸ“„ MD πŸ’» CPP
🌳 Traversals Level Order - Bottom First πŸ“„ MD πŸ’» CPP
🌲 Medium Max Depth of BT πŸ“„ MD πŸ’» CPP
🌲 Medium Is BT Balanced? πŸ“„ MD πŸ’» CPP
🌲 Medium Diameter of BT πŸ“„ MD πŸ’» CPP
🌲 Medium Max Sum of Path πŸ“„ MD πŸ’» CPP
🌲 Medium Is it the Same Tree? πŸ“„ MD πŸ’» CPP
🌲 Medium Zig zag Traversal πŸ“„ MD πŸ’» CPP
🌲 Medium BT Boundary Traversal πŸ“„ MD πŸ’» CPP
🌲 Medium Vertical Traversal in BT πŸ“„ MD πŸ’» CPP
🌲 Medium Top View in BT πŸ“„ MD πŸ’» CPP
🌲 Medium Bottom View in BT πŸ“„ MD πŸ’» CPP
🌲 Medium Right Side View of BT πŸ“„ MD πŸ’» CPP
🌲 Medium Left Side View of BT πŸ“„ MD πŸ’» CPP
🌲 Medium Symmetric BT πŸ“„ MD πŸ’» CPP
🌲 Medium Invert Binary Tree πŸ“„ MD πŸ’» CPP
🌲 Medium Minimum Depth of BT πŸ“„ MD πŸ’» CPP
πŸŽ‹ Hard Root to Node Path πŸ“„ MD πŸ’» CPP
πŸŽ‹ Hard Lowerst Common Ancestor πŸ“„ MD πŸ’» CPP
πŸŽ‹ Hard Maximum Width of BT πŸ“„ MD πŸ’» CPP
πŸŽ‹ Hard Children Sum Property I πŸ“„ MD πŸ’» CPP
πŸŽ‹ Hard Children Sum Property II πŸ“„ MD πŸ’» CPP
πŸŽ‹ Hard All Nodes at a distance K πŸ“„ MD πŸ’» CPP
πŸŽ‹ Hard Minimum Time to Burn Tree πŸ“„ MD πŸ’» CPP
πŸŽ‹ Hard Count Total Nodes πŸ“„ MD πŸ’» CPP
πŸŽ‹ Hard Construct BT from Inorder πŸ“„ MD πŸ’» CPP
πŸŽ‹ Hard Contruct BT from Postorder πŸ“„ MD πŸ’» CPP
πŸŽ‹ Hard Serialize and Deserialize πŸ“„ MD πŸ’» CPP
πŸŽ‹ Hard Morris Inorder Traversal πŸ“„ MD πŸ’» CPP
πŸŽ‹ Hard Flatten Binary Tree πŸ“„ MD πŸ’» CPP

🦜 Binary Search Trees

Category Problem / Algorithm Explanation Code
🚲 Concepts Introduction πŸ“„ MD πŸ’» CPP
🚲 Concepts Search in BST πŸ“„ MD πŸ’» CPP
🚲 Concepts Find Min / Max πŸ“„ MD πŸ’» CPP
πŸ›Ό Medium - πŸ“„ MD πŸ’» CPP

βš›οΈ Development Structure

I know this might seem like a lot, but success only comes to those who persist, and don't give up. Anyway, as you progress through the foundations, the later parts become easier.

πŸ• React Frontend Roadmap


Topic Resourse Links Notes
HTML Youtube - Dave Gray YT Do this first, learn about semantics and tags and why they are important.
CSS Youtube - Dave Gray YT Get basic understanding of CSS classes, and practices with simple projects.
HTML & CSS Youtube - SuperSimpleDev YT Love Simon's content, super simple, and easy to understand.
Javascript Hitest Choudhary YT This is an old series by Hitesh sir, all in english, and pretty solid.
Javascript Hitest Choudhary YT This series is in Hindi, more modern and simple.
Javascript SuperSimpleDev YT Simon again, he is also really great, industry standard but simple.
Javascript Dave Gray YT Dave is also great, but I prefered the other three above in JS.
Javascript arindal1 repo Elaborate notes on Javascript with code and examples.
Javascript arindal1 repo A 30 Day Javascript challenge, to make your foundations solid.
Git Brendan Dickinson YT Short and sweet intro to Git.
Git Nick White YT Simple and straight, a more casual and easy explanation.
Git Hitesh Choudhary YT If you want to go in depth, with inner mechanisms and industry level standards.
NPM Traversy Media YT Course to package managers for Development.
TailwindCSS JavascriptMastery YT Great explanations, and hands on parctice.
TailwindCSS Dave Gray YT Dave is really good with CSS, smh.
ReactJS Hitesh Choudhary YT - repo Pure beginner friendly course for React. Hitesh sir is super particular about industry standards.
ReactJS Hitesh Choudhary YT This series is in Hindi, equivalent to the course above.
ReactJS SuperSimpleDev YT Simon is always straightforward, and tries his best to keep things simple but good quality.
ReactJS JavascriptMastery YT Once you have understood basics of React, watch this.
Linters and Formatters CoderDave YT Linters are fairly easy, just watch this and gain a basic understanding.
Module Bundler Fireship YT You will already know about module bundlers while learning React, if not, this is for you. I find fireship really interesting.
Vite CodeSTACKr YT A vite crash course to know indepth mechanisms of Vite. (optional)
Testing dotconferences YT Testing is an essential but advanced part of development. This video tells you all about testing in industry.
Jest FreeCodeCamp YT Jest is a Javascript testing tech.
Authentication Hayk Simonyan YT Hayk Simonyan
Web API Keep on Coding YT Basics of Web API.
Types of APIs Codist YT Different types of APIs used in the industry, and why?
Rest API IBM Tech YT A little about Restful APIs
Web Security Arkenstone Learning YT This a playlist that focuses on WebSecurity through ZAP, not super important, but do learn the theory.
SSR Microsoft Developer YT What is Server Side Rendering?
SSR Smoljames YT Server Side Rendering vs Client Side Rendering
NextJs FreeCodeCamp YT Well, if you have got your hands on React, and want to dive into SSR. Well, NextJS is the best. And... it's taught by the Head of Developer Community at Vercel!
SSG Net Ninja YT Static Site Generators (SSGs) build websites as pre-generated HTML files from content and templates. Make sites fast, secure, and easy to host. (kinda optional)
Design System Figma YT Well designing your site is also important.
Deployments - Multiple - Netlify - Github - Vercel - Render - How to deploy your code in the Internet.
Web Performance Dmitriy Zhiganov YT How to enhance the performance of your site. Design Systems.
Lighthouse WPDev YT Lighthouse is an open-source, automated tool for improving the quality of web pages.
Dev Tools Tobi Mey YT DevTools are a set of web developer tools built directly into web browsers.
Service Workers Udacity YT Service Workers are JavaScript files that act as proxy servers between web browsers and web servers.
Accessibility Chrome YT Understanding Accessibility and it's importance for websites.

that should be all for Frontend development. Rest is upto practice and projects.

πŸ”° Node Backend Roadmap


In progress.

🍡 Java Roadmap


Phase 1: Core JAVA + OOP

  • Java memory model (Heap v Stack)
  • OOP Principles
  • SOLID Principles
  • Generics, Lamda, Streams
  • Exception Handling
  • Immutibility & Best Practices
  • JVM Internals

Phase 2: DSA

  • FAANG Level prep
  • Clean Code
  • Edge-case handling
  • TIME + Space Complexity

Phase 3: Multithreading & Concurrency

  • Thread lifecycle
  • Synchronization v Locks
  • Deadlocks, Starvation
  • ExecutorService
  • Completable Future
  • Concurrent Collections

Phase 4: Spring Boot + RestAPIs

  • Spring Core & Dependency Injection
  • Spring Boot auto-config
  • RestAPI design
  • Validation & Execution Handling
  • Spring Security (JWT + Role Based)
  • Logging & Monitoring
  • Unit + Integration testing

Phase 5: Databses

  • SQL:

    • Indexing & query optimizations
    • Joins & Subqueries
    • ACID v BASE
  • NoSQL:

    • MongoDB schema design
    • when to use SQL & noSQL
    • Redis Caching

Phase 6: System Design

Below πŸ”½πŸ”½


πŸ“ System Design Structure

Topic Resource Links Notes
Introduction Crio.do article Basic intro to System Design and Engineering.
Guide Swimm article Basic intro to System Design and patterns.
The Primer donnemartin repo The System Design Primer. It's the Holy Grail for SDEs, trust me.
SD Template Top Cat leetcode A template for how to approach designing an efficient System.
SD Questions HiredInTech article In this course you will see what such system design interview questions look like and what is expected from you in order to solve them.
SD Interviews Jackson Gabbard YT Walk through the context and goals of a systems design and architecture interview.

[ IN PROGRESS ]


Contact

🌟 Star the Repo if You Find it Useful!

About

Comprehensive repository to track my progress for SDE preparation, in DSA, System Design and CS Core. Includes Striver, NeetCode, DonneMartin, and more.

Topics

Resources

Stars

Watchers

Forks

Languages