├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 VikashPR 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 🔥 The Ultimate MAANG+ DSA Interview Prep List (2025) 🚀 2 | 3 | [![GitHub stars](https://img.shields.io/github/stars/VikashPR/MAANG-Interview-Prep-100-DSA?style=social&logo=github)](https://github.com/VikashPR/MAANG-Interview-Prep-100-DSA) 4 | 5 | [![GitHub forks](https://img.shields.io/github/forks/VikashPR/MAANG-Interview-Prep-100-DSA?style=social&logo=github)](https://github.com/VikashPR/MAANG-Interview-Prep-100-DSA) 6 | [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square&logo=github)](CONTRIBUTING.md) 7 | [![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](LICENSE) 8 | [![Contributors](https://img.shields.io/github/contributors/VikashPR/MAANG-Interview-Prep-100-DSA?style=flat-square)](https://github.com/VikashPR/MAANG-Interview-Prep-100-DSA/graphs/contributors) 9 | 10 | ![Data Structures](https://img.shields.io/badge/Data_Structures-Solid-4CAF50?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWJla2VyIj48cGF0aCBkPSJNMyAxMmgxOG0tOS05djRtMCA0TDguMTcgNy4xN00xMiAxNWwzLjgzIDMuODN6bTAgMGwtMy44MyAzLjgzTTE2IDEyYy0yLjIxIDAtNCAxLjc5LTQgNHM0IDQgNCA0IDQtMS43OSA0LTRhNC4wMSg0LjAxIDAgMCAwLTEuMjUtMi44NU04IDEyYy0yLjIxIDAtNCAxLjc5LTQgNHMwIDQgNCA0IDQtMS43OSA0LTRhNC4wMSA0LjAxIDAgMCAwLTEuMjUtMi44NU0xOS43NSAxMiAxMiAxOS43NW0wIDBMMC4yNSAxMiIvPjwvc3ZnPg==) 11 | ![Algorithms](https://img.shields.io/badge/Algorithms-Mastered-blueviolet?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWJyYWluLWNpcmN1aXQiPjxwYXRoIGQ9Ik0xMiAyYTYgNiAwIDAgMCAwIDEyIDYgNiAwIDAgMCAwLTEyek0yIDEyaDEuNzZBNi41IDYuNSAwIDAgMCAxMiAyMFYxNC4yNU0yMiAxMmgtMS43NkE2LjUgNi41IDAgMCAxIDEyIDIwVjE0LjI1TTE3LjUgMS44N0ExMC4xMyAxMC4xMyAwIDAgMSAyMiAxMmgtOS4yNU02LjUgMS44N0ExMC4xMyAxMC4xMyAwIDAgMCAyIDEyaDkuMjVNMTQgMjIuMTRhMTAgMTAgMCAwIDEgLTQgMHYtOS4yNU0xMCAyMi4xNGExMCAxMCAwIDAgMCAtNCAwdi05LjI1Ii8+PHBhdGggZD0iTTE4IDE4LjJsNC00TTE4IDZsNC00bS04IDRsNC00bS00IDRsLTMuNTYgMy41Nk02IDE4bC00IDRtMCAwIDQgNG04LTRsLTQgNG0wIDAgMy41NiAzLjU2TTIgNmw0IDRtMCAwTDQgNCIvPjwvc3ZnPg==) 12 | ![LeetCode Ready](https://img.shields.io/badge/LeetCode-Ready!-orange?style=for-the-badge&logo=leetcode) 13 | [![Built By The Community](https://img.shields.io/badge/Built%20By-The%20Community-ff69b4?style=for-the-badge)](https://github.com/YOUR_USERNAME/YOUR_REPO_NAME/graphs/contributors) 14 | 15 | --- 16 | 17 | **🎯 Goal:** This isn't just another list. It's a **strategically curated collection** of ~100 high-impact Data Structures and Algorithms problems frequently encountered in interviews at **MAANG (Meta, Apple, Amazon, Netflix, Google) and other top-tier tech companies.** Master these, and you'll build the core problem-solving muscle needed to excel. 💪 18 | 19 | **💡 How This List Was Curated:** 20 | 21 | * **Cross-Referencing:** Problems selected appear consistently across highly respected resources like: 22 | * **LeetCode's "Top Interview Questions"** (by frequency). 23 | * **Blind 75:** A list crowdsourced from Blind (an anonymous professional network). 24 | * **NeetCode 150:** A popular curated list covering essential patterns. 25 | * Aggregated interview experiences shared on LeetCode Discuss, Glassdoor, and other platforms. 26 | * **Concept Coverage:** Ensuring all fundamental DSA topics and common patterns are represented. 27 | * **MAANG+ Focus:** Prioritizing question types and difficulties commonly reported in MAANG+ interviews. 28 | * **Community Validation:** Incorporating problems widely recognized by the competitive programming and interview prep community. 29 | 30 | > **Disclaimer:** While based on extensive research and community data, exact interview questions vary. This list focuses on building the *underlying skills* tested by recurring problem patterns. 31 | 32 | --- 33 | 34 | 35 | ## 📚 Table of Contents 36 | 37 | *Click the links to jump to a section!* 38 | 39 | 1. [📊 Array](#--array) 40 | 2. [✍️ String](#%EF%B8%8F-string) 41 | 3. [⛓️ Linked List](#%EF%B8%8F-linked-list) 42 | 4. [⚖️ Two Pointers](#%EF%B8%8F-two-pointers) 43 | 5. [🖼️ Sliding Window](#%EF%B8%8F-sliding-window) 44 | 6. [🥞 Stack](#-stack) 45 | 7. [🌳 Tree (BFS/DFS/Traversal)](#-tree-bfsdfstraversal) 46 | 8. [🌲 Tree (Advanced & BST)](#-tree-advanced--bst) 47 | 9. [🥞 Heap / Priority Queue](#-heap--priority-queue) 48 | 10. [🔙 Backtracking](#-backtracking) 49 | 11. [💻 Dynamic Programming (1D)](#-dynamic-programming-1d) 50 | 12. [🧱 Dynamic Programming (2D & Advanced)](#-dynamic-programming-2d--advanced) 51 | 13. [🌐 Graph (BFS/DFS/Union-Find)](#-graph-bfsdfsunion-find) 52 | 14. [🗺️ Graph (Advanced & Shortest Path)](#%EF%B8%8F-graph-advanced--shortest-path) 53 | 15. [🔍 Binary Search](#-binary-search) 54 | 16. [💡 Greedy](#-greedy) 55 | 17. [📐 Math & Bit Manipulation](#-math--bit-manipulation) 56 | 18. [🧩 Intervals](#-intervals) 57 | 58 | --- 59 | 60 | * **Legend:** 61 | * ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) 62 | * ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) 63 | * ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) 64 | * ⭐ = Especially High Frequency / Foundational 65 | 66 | --- 67 | 68 | ## 📊 Array 69 | 70 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 71 | | :-- | :----------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :----------------------- | :------------------------------------------------------------------------------------- | :------------------ | 72 | | 1 | ⭐ **[Two Sum](https://leetcode.com/problems/two-sum/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Hashing | The quintessential hash map problem. Checks basic data structure usage. | LC Top, Blind 75 | 73 | | 2 | ⭐ **[Best Time to Buy and Sell Stock](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Sliding Window, Greedy | Simple optimization, finding min/max efficiently in one pass. | LC Top, Blind 75 | 74 | | 3 | **[Contains Duplicate](https://leetcode.com/problems/contains-duplicate/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Hashing, Set | Basic set usage for uniqueness checks. | LC Top | 75 | | 4 | ⭐ **[Product of Array Except Self](https://leetcode.com/problems/product-of-array-except-self/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Prefix/Suffix Products | Clever array manipulation without division. Tests thinking outside the box. | LC Top, Blind 75 | 76 | | 5 | ⭐ **[Maximum Subarray](https://leetcode.com/problems/maximum-subarray/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Kadane's Algo, DP | The most famous DP intro problem (can be solved greedily). Fundamental pattern. | LC Top, Blind 75 | 77 | | 6 | **[Maximum Product Subarray](https://leetcode.com/problems/maximum-product-subarray/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | DP, Array Traversal | Variation of Max Subarray, handles negative numbers. Tests edge cases. | LC Top, Blind 75 | 78 | | 7 | **[Find Minimum in Rotated Sorted Array](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Binary Search | Classic modified binary search on rotated arrays. | LC Top, Blind 75 | 79 | | 8 | ⭐ **[Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Binary Search | Extends the above, requires careful boundary condition handling. | LC Top, Blind 75 | 80 | | 9 | ⭐ **[3Sum](https://leetcode.com/problems/3sum/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Sorting, Two Pointers | Foundational k-sum problem. Tests handling duplicates and two-pointer technique. | LC Top, Blind 75 | 81 | | 10 | **[Container With Most Water](https://leetcode.com/problems/container-with-most-water/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Two Pointers | Classic two-pointer optimization problem. | LC Top, Blind 75 | 82 | | 11 | **[Next Permutation](https://leetcode.com/problems/next-permutation/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Array Manipulation | Understanding lexicographical order and in-place swaps. | LC Top | 83 | | 12 | **[Find the Duplicate Number](https://leetcode.com/problems/find-the-duplicate-number/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Cycle Detection (Floyd's) | Maps array problem to linked list cycle detection. Clever and efficient. | LC Top | 84 | 85 | *\*Source Hint: Indicates sources where this problem is frequently listed (LC Top = LeetCode Top Interview Qs, Blind 75, NeetCode 150). This is indicative, not exhaustive.* 86 | 87 | --- 88 | 89 | ## ✍️ String 90 | 91 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 92 | | :-- | :----------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :------------------------- | :------------------------------------------------------------------------------------------ | :--------------- | 93 | | 13 | ⭐ **[Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Sliding Window, Hashing | The canonical sliding window problem. Tests efficient substring analysis. | LC Top, Blind 75 | 94 | | 14 | ⭐ **[Longest Repeating Character Replacement](https://leetcode.com/problems/longest-repeating-character-replacement/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Sliding Window, Hashing | Advanced sliding window requiring careful window condition management. | LC Top, Blind 75 | 95 | | 15 | ⭐ **[Minimum Window Substring](https://leetcode.com/problems/minimum-window-substring/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | Sliding Window, Hashing | The definitive challenging sliding window problem. Tests complex state tracking. | LC Top, Blind 75 | 96 | | 16 | ⭐ **[Valid Anagram](https://leetcode.com/problems/valid-anagram/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Hashing, Sorting | Fundamental check for character counts. Basic but essential. | LC Top, Blind 75 | 97 | | 17 | ⭐ **[Group Anagrams](https://leetcode.com/problems/group-anagrams/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Hashing, Sorting | Grouping items based on a derived key (sorted string or char count). Common pattern. | LC Top, Blind 75 | 98 | | 18 | ⭐ **[Valid Parentheses](https://leetcode.com/problems/valid-parentheses/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Stack | Classic stack application for matching pairs. | LC Top, Blind 75 | 99 | | 19 | ⭐ **[Valid Palindrome](https://leetcode.com/problems/valid-palindrome/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Two Pointers, String | Basic two-pointer technique for symmetry checks, ignoring non-alphanumerics. | LC Top, Blind 75 | 100 | | 20 | ⭐ **[Longest Palindromic Substring](https://leetcode.com/problems/longest-palindromic-substring/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Expand Around Center, DP | Finding optimal substructures. Expand-around-center is often preferred. | LC Top, Blind 75 | 101 | | 21 | **[Palindromic Substrings](https://leetcode.com/problems/palindromic-substrings/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Expand Around Center, DP | Counting all palindromic substrings. Similar logic to #20 but counting instead of finding max. | LC Top, Blind 75 | 102 | | 22 | **[Encode and Decode Strings](https://leetcode.com/problems/encode-and-decode-strings/)** (Premium) | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | String Design, Delimiter | Practical problem often asked in system design contexts or phone screens. Tests edge cases. | Blind 75, NeetCode | 103 | 104 | --- 105 | 106 | ## ⛓️ Linked List 107 | 108 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 109 | | :-- | :----------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :-------------------------- | :---------------------------------------------------------------------------------------- | :--------------- | 110 | | 23 | ⭐ **[Reverse Linked List](https://leetcode.com/problems/reverse-linked-list/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Iteration, Recursion | The absolute fundamental linked list manipulation. | LC Top, Blind 75 | 111 | | 24 | ⭐ **[Linked List Cycle](https://leetcode.com/problems/linked-list-cycle/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Floyd's Cycle Detection | Classic application of the Tortoise and Hare algorithm. | LC Top, Blind 75 | 112 | | 25 | ⭐ **[Merge Two Sorted Lists](https://leetcode.com/problems/merge-two-sorted-lists/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Pointers, Iteration | Foundational merging logic, basis for Merge Sort. | LC Top, Blind 75 | 113 | | 26 | ⭐ **[Merge k Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | Heap (Priority Queue), D&C | Scalable merging. Tests heap usage or divide-and-conquer approach. | LC Top, Blind 75 | 114 | | 27 | **[Remove Nth Node From End of List](https://leetcode.com/problems/remove-nth-node-from-end-of-list/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Two Pointers (Fast/Slow) | Common two-pointer pattern for finding elements relative to the end. | LC Top, Blind 75 | 115 | | 28 | **[Reorder List](https://leetcode.com/problems/reorder-list/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Find Middle, Reverse, Merge | Combines multiple core list operations. Good test of modular thinking. | LC Top, Blind 75 | 116 | 117 | *(Sections for Two Pointers, Sliding Window, Stack, Trees, Heap, Backtracking, DP, Graphs, Binary Search, Greedy, Math/Bit Manipulation, Intervals would follow a similar detailed format)* 118 | 119 | --- 120 | 121 | ## ⚖️ Two Pointers 122 | 123 | *(Problems like 3Sum, Container With Most Water, Valid Palindrome are already listed, but this section could include others primarily solved with this technique if not covered elsewhere)* 124 | 125 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 126 | | :-- | :------------------------------------------------------------------- | :--------------------------------------------------------------- | :----------- | :------------------------------------------------------------ | :----------- | 127 | | 29 | **[Sort Colors](https://leetcode.com/problems/sort-colors/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Two Pointers | Dutch National Flag problem. Efficient in-place partitioning. | LC Top | 128 | | 30 | **[Trapping Rain Water](https://leetcode.com/problems/trapping-rain-water/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | Two Pointers, DP, Stack | Multiple solutions exist. Tests optimization and insights. | LC Top, NeetCode | 129 | 130 | --- 131 | 132 | ## 🖼️ Sliding Window 133 | 134 | *(Many already covered in Array/String sections, this ensures the pattern is highlighted)* 135 | 136 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 137 | | :-- | :--------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :-------------- | :--------------------------------------------------------------------- | :--------------- | 138 | | 31 | **[Permutation in String](https://leetcode.com/problems/permutation-in-string/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Sliding Window, Hashing | Fixed-size window check using frequency maps. | LC Top, Blind 75 | 139 | | 32 | **[Best Time to Buy and Sell Stock](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Sliding Window, Greedy | (Re-listed for pattern emphasis) Simple window optimization. | LC Top, Blind 75 | 140 | | 33 | **[Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Sliding Window, Hashing | (Re-listed) The classic dynamic window size problem. | LC Top, Blind 75 | 141 | 142 | --- 143 | 144 | ## 🥞 Stack 145 | 146 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 147 | | :-- | :-------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :--------------- | :-------------------------------------------------------------------------- | :--------------- | 148 | | 34 | ⭐ **[Valid Parentheses](https://leetcode.com/problems/valid-parentheses/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Stack | (Re-listed) Fundamental stack usage for matching. | LC Top, Blind 75 | 149 | | 35 | **[Min Stack](https://leetcode.com/problems/min-stack/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Stack Design | Designing a stack with O(1) min retrieval. Tests data structure design. | LC Top, NeetCode | 150 | | 36 | **[Evaluate Reverse Polish Notation](https://leetcode.com/problems/evaluate-reverse-polish-notation/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Stack | Direct stack application for expression evaluation. | LC Top | 151 | | 37 | **[Daily Temperatures](https://leetcode.com/problems/daily-temperatures/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Monotonic Stack | Classic "next greater element" pattern using a monotonic stack. | LC Top, NeetCode | 152 | | 38 | **[Largest Rectangle in Histogram](https://leetcode.com/problems/largest-rectangle-in-histogram/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | Monotonic Stack | Challenging application of monotonic stack for area calculation. | LC Top, NeetCode | 153 | 154 | --- 155 | 156 | ## 🌳 Tree (BFS/DFS/Traversal) 157 | 158 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 159 | | :-- | :---------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :----------------- | :-------------------------------------------------------------------------------- | :--------------- | 160 | | 39 | ⭐ **[Maximum Depth of Binary Tree](https://leetcode.com/problems/maximum-depth-of-binary-tree/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | DFS, Recursion | Basic recursive tree traversal. | LC Top, Blind 75 | 161 | | 40 | ⭐ **[Same Tree](https://leetcode.com/problems/same-tree/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | DFS, Recursion | Basic structural comparison using recursion. | LC Top, Blind 75 | 162 | | 41 | ⭐ **[Invert Binary Tree](https://leetcode.com/problems/invert-binary-tree/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | DFS/BFS, Recursion | Famous, simple tree manipulation via recursion or iteration. | LC Top, Blind 75 | 163 | | 42 | **[Subtree of Another Tree](https://leetcode.com/problems/subtree-of-another-tree/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | DFS, Recursion | Recursive check involving a helper function for subtree matching. | LC Top, Blind 75 | 164 | | 43 | ⭐ **[Binary Tree Level Order Traversal](https://leetcode.com/problems/binary-tree-level-order-traversal/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | BFS, Queue | The canonical BFS application on trees. | LC Top, Blind 75 | 165 | | 44 | **[Binary Tree Right Side View](https://leetcode.com/problems/binary-tree-right-side-view/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | BFS, DFS | Variation of level order traversal (finding the last node at each level). | LC Top, NeetCode | 166 | | 45 | **[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | DFS, Recursion | Calculating longest path via recursive depth calculation. | LC Top, NeetCode | 167 | 168 | --- 169 | 170 | ## 🌲 Tree (Advanced & BST) 171 | 172 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 173 | | :-- | :------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------- | :---------------------- | :-------------------------------------------------------------------------------------------- | :--------------- | 174 | | 46 | ⭐ **[Lowest Common Ancestor of a Binary Search Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | BST Properties, DFS | Utilizes BST properties for efficient LCA finding. | LC Top, Blind 75 | 175 | | 47 | ⭐ **[Validate Binary Search Tree](https://leetcode.com/problems/validate-binary-search-tree/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | DFS, Recursion, Range | Checking BST validity requires passing down min/max constraints. Important detail. | LC Top, Blind 75 | 176 | | 48 | ⭐ **[Kth Smallest Element in a BST](https://leetcode.com/problems/kth-smallest-element-in-a-bst/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Inorder Traversal, DFS | Leverages the inorder traversal property of BSTs. | LC Top, Blind 75 | 177 | | 49 | **[Construct Binary Tree from Preorder and Inorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Recursion, Hashing | Classic tree construction problem using traversal properties. | LC Top, Blind 75 | 178 | | 50 | ⭐ **[Binary Tree Maximum Path Sum](https://leetcode.com/problems/binary-tree-maximum-path-sum/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | DFS, Recursion | Tricky recursion where path can start/end anywhere. Requires careful state return. | LC Top, Blind 75 | 179 | | 51 | **[Serialize and Deserialize Binary Tree](https://leetcode.com/problems/serialize-and-deserialize-binary-tree/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | DFS/BFS, String | Design problem involving tree representation as a string. Tests clear encoding/decoding. | LC Top, Blind 75 | 180 | | 52 | **[Implement Trie (Prefix Tree)](https://leetcode.com/problems/implement-trie-prefix-tree/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Trie, Design | Foundational for many string/dictionary problems. | LC Top, Blind 75 | 181 | | 53 | **[Design Add and Search Words Data Structure](https://leetcode.com/problems/design-add-and-search-words-data-structure/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Trie, DFS, Backtracking | Extends Trie with wildcard search. Tests recursive search logic. | LC Top, Blind 75 | 182 | | 54 | **[Word Search II](https://leetcode.com/problems/word-search-ii/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | Trie, Backtracking, DFS | Combines Trie efficiency with grid backtracking. Highly practical. | LC Top, Blind 75 | 183 | 184 | --- 185 | 186 | ## 🥞 Heap / Priority Queue 187 | 188 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 189 | | :-- | :----------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :---------------------- | :----------------------------------------------------------------------------------------- | :--------------- | 190 | | 55 | ⭐ **[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Hashing, Heap, QuickSelect | Finding most frequent items efficiently. Tests Heap or QuickSelect usage. | LC Top, Blind 75 | 191 | | 56 | **[Kth Largest Element in an Array](https://leetcode.com/problems/kth-largest-element-in-an-array/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Heap, QuickSelect | Similar to Top K, focuses on finding the specific Kth element. | LC Top, NeetCode | 192 | | 57 | **[Find Median from Data Stream](https://leetcode.com/problems/find-median-from-data-stream/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | Two Heaps (Max/Min) | Classic design problem using two heaps to maintain median in a streaming fashion. | LC Top, Blind 75 | 193 | | 58 | **[Merge k Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | Heap (Priority Queue) | (Re-listed) Efficiently merging multiple lists using a min-heap. | LC Top, Blind 75 | 194 | | 59 | **[Task Scheduler](https://leetcode.com/problems/task-scheduler/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Greedy, Heap, Hashing | Scheduling tasks with cooldowns. Often solved greedily or with a max-heap. | LC Top, NeetCode | 195 | 196 | --- 197 | 198 | ## 🔙 Backtracking 199 | 200 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 201 | | :-- | :------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------- | :--------------------- | :----------------------------------------------------------------------------------- | :--------------- | 202 | | 60 | ⭐ **[Subsets](https://leetcode.com/problems/subsets/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Backtracking, Recursion | Generating all possible combinations (powerset). Foundational backtracking. | LC Top, Blind 75 | 203 | | 61 | **[Combination Sum](https://leetcode.com/problems/combination-sum/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Backtracking, Recursion | Finding combinations that sum to a target (with repetition allowed). | LC Top, Blind 75 | 204 | | 62 | **[Permutations](https://leetcode.com/problems/permutations/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Backtracking, Recursion | Generating all orderings of elements. | LC Top, Blind 75 | 205 | | 63 | **[Subsets II](https://leetcode.com/problems/subsets-ii/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Backtracking, Sorting | Subsets problem with duplicate elements. Requires handling duplicates carefully. | LC Top, NeetCode | 206 | | 64 | **[Combination Sum II](https://leetcode.com/problems/combination-sum-ii/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Backtracking, Sorting | Combination sum with duplicates, ensuring unique combinations. | LC Top, NeetCode | 207 | | 65 | ⭐ **[Word Search](https://leetcode.com/problems/word-search/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Backtracking, DFS | Classic grid backtracking problem. Searching for a word in a 2D board. | LC Top, Blind 75 | 208 | | 66 | **[Letter Combinations of a Phone Number](https://leetcode.com/problems/letter-combinations-of-a-phone-number/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Backtracking, Recursion | Mapping digits to letters and generating combinations. Common recursive structure. | LC Top, NeetCode | 209 | | 67 | **[N-Queens](https://leetcode.com/problems/n-queens/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | Backtracking | Quintessential constraint satisfaction backtracking problem. | LC Top | 210 | | 68 | **[Palindrome Partitioning](https://leetcode.com/problems/palindrome-partitioning/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Backtracking, DP | Partitioning a string into palindromic substrings. | LC Top, NeetCode | 211 | 212 | --- 213 | 214 | ## 💻 Dynamic Programming (1D) 215 | 216 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 217 | | :-- | :-------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :-------------- | :------------------------------------------------------------------------------- | :--------------- | 218 | | 69 | ⭐ **[Climbing Stairs](https://leetcode.com/problems/climbing-stairs/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | DP (Fibonacci) | The introductory DP problem, equivalent to Fibonacci sequence. | LC Top, Blind 75 | 219 | | 70 | ⭐ **[Coin Change](https://leetcode.com/problems/coin-change/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | DP (Unbounded Knapsack) | Classic DP problem for minimum coins. Tests state definition and transitions. | LC Top, Blind 75 | 220 | | 71 | ⭐ **[Longest Increasing Subsequence](https://leetcode.com/problems/longest-increasing-subsequence/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | DP, Binary Search | Fundamental subsequence problem. Can be optimized with Binary Search (patience sorting). | LC Top, Blind 75 | 221 | | 72 | ⭐ **[Word Break](https://leetcode.com/problems/word-break/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | DP, String | Checking if a string can be segmented using a dictionary. Common string DP. | LC Top, Blind 75 | 222 | | 73 | ⭐ **[House Robber](https://leetcode.com/problems/house-robber/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | DP | Simple 1D DP with non-adjacent constraint. | LC Top, Blind 75 | 223 | | 74 | **[House Robber II](https://leetcode.com/problems/house-robber-ii/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | DP | Variation of House Robber with circular arrangement. Tests reducing to subproblems. | LC Top, Blind 75 | 224 | | 75 | **[Decode Ways](https://leetcode.com/problems/decode-ways/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | DP, String | Counting ways to decode a numeric string. Tests handling DP states carefully. | LC Top, Blind 75 | 225 | | 76 | **[Maximum Product Subarray](https://leetcode.com/problems/maximum-product-subarray/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | DP | (Re-listed) Requires tracking both max and min product ending at index `i`. | LC Top, Blind 75 | 226 | | 77 | **[Partition Equal Subset Sum](https://leetcode.com/problems/partition-equal-subset-sum/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | DP (0/1 Knapsack) | Subset sum variation. Tests boolean DP state. | LC Top, NeetCode | 227 | 228 | --- 229 | 230 | ## 🧱 Dynamic Programming (2D & Advanced) 231 | 232 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 233 | | :-- | :---------------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :------------------- | :-------------------------------------------------------------------------------------- | :--------------- | 234 | | 78 | **[Unique Paths](https://leetcode.com/problems/unique-paths/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | DP (Grid) | Basic 2D DP on a grid. Calculating paths from top-left to bottom-right. | LC Top, Blind 75 | 235 | | 79 | **[Longest Common Subsequence](https://leetcode.com/problems/longest-common-subsequence/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | DP (2D String) | Fundamental DP problem for comparing two sequences. | LC Top, Blind 75 | 236 | | 80 | **[Edit Distance](https://leetcode.com/problems/edit-distance/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | DP (2D String) | Classic DP for string transformation distance (Levenshtein). | LC Top, NeetCode | 237 | | 81 | **[Best Time to Buy and Sell Stock with Cooldown](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | DP (State Machine) | Stock problem variation requiring state machine DP (buy, sell, cooldown). | LC Top, NeetCode | 238 | | 82 | **[Regular Expression Matching](https://leetcode.com/problems/regular-expression-matching/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | DP, Recursion | Complex DP involving matching patterns with '.' and '*'. Tests careful state transitions. | LC Top | 239 | | 83 | **[Burst Balloons](https://leetcode.com/problems/burst-balloons/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | DP (Interval) | Challenging interval DP. Requires thinking about the last operation. | LC Top, NeetCode | 240 | | 84 | **[Maximal Square](https://leetcode.com/problems/maximal-square/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | DP (Grid) | Finding the largest square of 1s in a binary matrix. Common 2D DP pattern. | LC Top | 241 | 242 | --- 243 | 244 | ## 🌐 Graph (BFS/DFS/Union-Find) 245 | 246 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 247 | | :-- | :---------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :------------------- | :------------------------------------------------------------------------------------ | :--------------- | 248 | | 85 | ⭐ **[Number of Islands](https://leetcode.com/problems/number-of-islands/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | BFS/DFS, Grid | The fundamental graph traversal problem on a grid. Counts connected components. | LC Top, Blind 75 | 249 | | 86 | ⭐ **[Clone Graph](https://leetcode.com/problems/clone-graph/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | BFS/DFS, Hashing | Deep copying graph structure. Tests handling visited nodes and recursion/iteration. | LC Top, Blind 75 | 250 | | 87 | **[Pacific Atlantic Water Flow](https://leetcode.com/problems/pacific-atlantic-water-flow/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | BFS/DFS, Grid | Multi-source traversal from oceans inward. Tests simultaneous graph traversals. | LC Top, Blind 75 | 251 | | 88 | ⭐ **[Course Schedule](https://leetcode.com/problems/course-schedule/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Topological Sort (DFS/BFS) | Detecting cycles in a directed graph (prerequisite check). Essential pattern. | LC Top, Blind 75 | 252 | | 89 | **[Course Schedule II](https://leetcode.com/problems/course-schedule-ii/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Topological Sort | Finding a valid course order (if one exists). Extends Course Schedule I. | LC Top, NeetCode | 253 | | 90 | **[Number of Connected Components in an Undirected Graph](https://leetcode.com/problems/number-of-connected-components-in-an-undirected-graph/)** (Premium) | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Union-Find, BFS/DFS | Basic connectivity check, solvable efficiently with Union-Find. | Blind 75, NeetCode | 254 | | 91 | **[Graph Valid Tree](https://leetcode.com/problems/graph-valid-tree/)** (Premium) | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Union-Find, BFS/DFS | Checking if a graph is a tree (connected and acyclic). Combines concepts. | Blind 75, NeetCode | 255 | | 92 | **[Redundant Connection](https://leetcode.com/problems/redundant-connection/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Union-Find | Finding the edge that creates a cycle in an undirected graph. Classic Union-Find. | NeetCode | 256 | 257 | --- 258 | 259 | ## 🗺️ Graph (Advanced & Shortest Path) 260 | 261 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 262 | | :-- | :------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------- | :----------------------------- | :------------------------------------------------------------------------------------- | :--------------- | 263 | | 93 | ⭐ **[Word Ladder](https://leetcode.com/problems/word-ladder/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | BFS, Implicit Graph | Shortest path on an implicit graph where nodes are words and edges are transformations. | LC Top, Blind 75 | 264 | | 94 | **[Network Delay Time](https://leetcode.com/problems/network-delay-time/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Dijkstra's/Bellman-Ford, BFS | Shortest path from a source in a weighted directed graph (non-negative weights). | LC Top, NeetCode | 265 | | 95 | **[Cheapest Flights Within K Stops](https://leetcode.com/problems/cheapest-flights-within-k-stops/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Bellman-Ford / Modified Dijkstra | Shortest path with constraint on number of edges. Tests modified algorithms. | NeetCode | 266 | | 96 | **[Alien Dictionary](https://leetcode.com/problems/alien-dictionary/)** (Premium) | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | Topological Sort, Graph Building | Deriving character order from a sorted list of words. Complex graph construction. | Blind 75, NeetCode | 267 | | 97 | **[Critical Connections in a Network](https://leetcode.com/problems/critical-connections-in-a-network/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | Tarjan's Algorithm (Bridges) | Finding bridges in a graph. Tests understanding of advanced graph algorithms. | NeetCode | 268 | 269 | --- 270 | 271 | ## 🔍 Binary Search 272 | 273 | *(Problems like Find Minimum in Rotated Sorted Array, Search in Rotated Sorted Array are already listed)* 274 | 275 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 276 | | :-- | :-------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------- | :------------------- | :------------------------------------------------------------------------------- | :--------------- | 277 | | 98 | ⭐ **[Binary Search](https://leetcode.com/problems/binary-search/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Binary Search | The core algorithm itself. Essential foundation. | LC Top | 278 | | 99 | **[Search a 2D Matrix](https://leetcode.com/problems/search-a-2d-matrix/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Binary Search | Applying binary search on a conceptually flattened sorted 2D matrix. | LC Top, Blind 75 | 279 | | 100 | **[Time Based Key-Value Store](https://leetcode.com/problems/time-based-key-value-store/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Hashing, Binary Search | Searching for a value based on timestamp. Requires binary search on timestamps. | LC Top, Blind 75 | 280 | | 101 | ⭐ **[Median of Two Sorted Arrays](https://leetcode.com/problems/median-of-two-sorted-arrays/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | Binary Search | Advanced binary search on partitions to find the median efficiently. | LC Top, Blind 75 | 281 | | 102 | **[Koko Eating Bananas](https://leetcode.com/problems/koko-eating-bananas/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Binary Search on Answer | Searching for the minimum speed (the answer) within a possible range. | NeetCode | 282 | 283 | --- 284 | 285 | ## 💡 Greedy 286 | 287 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 288 | | :-- | :------------------------------------------------------------------------------------------ | :--------------------------------------------------------------- | :-------------- | :------------------------------------------------------------------------------------ | :--------------- | 289 | | 103 | ⭐ **[Maximum Subarray](https://leetcode.com/problems/maximum-subarray/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Greedy (Kadane's) | (Re-listed) Can be solved optimally with a simple greedy approach (Kadane's). | LC Top, Blind 75 | 290 | | 104 | **[Jump Game](https://leetcode.com/problems/jump-game/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Greedy | Checking reachability by tracking the maximum reachable index greedily. | LC Top, Blind 75 | 291 | | 105 | **[Jump Game II](https://leetcode.com/problems/jump-game-ii/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Greedy, BFS | Finding the minimum jumps. Can be solved greedily or viewed as a BFS level order. | LC Top, NeetCode | 292 | | 106 | **[Gas Station](https://leetcode.com/problems/gas-station/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Greedy | Classic greedy problem proving existence and finding a valid starting point. | LC Top, NeetCode | 293 | | 107 | **[Hand of Straights](https://leetcode.com/problems/hand-of-straights/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Greedy, Hashing | Forming consecutive groups greedily using counts. | NeetCode | 294 | | 108 | **[Merge Triplets to Form Target Triplet](https://leetcode.com/problems/merge-triplets-to-form-target-triplet/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Greedy | Simple greedy check if the target triplet can be formed by valid merges. | NeetCode | 295 | | 109 | **[Partition Labels](https://leetcode.com/problems/partition-labels/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Greedy, Two Pointers | Finding the smallest partitions such that each letter appears in at most one part. | LC Top, NeetCode | 296 | 297 | --- 298 | 299 | ## 📐 Math & Bit Manipulation 300 | 301 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 302 | | :-- | :---------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :----------------------- | :-------------------------------------------------------------------------------------- | :--------------- | 303 | | 110 | **[Number of 1 Bits](https://leetcode.com/problems/number-of-1-bits/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Bit Manipulation | Basic bit counting (Hamming weight). | LC Top, Blind 75 | 304 | | 111 | **[Counting Bits](https://leetcode.com/problems/counting-bits/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Bit Manipulation, DP | Calculating bits for numbers 0 to n efficiently, often using DP relation. | LC Top, Blind 75 | 305 | | 112 | **[Reverse Bits](https://leetcode.com/problems/reverse-bits/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Bit Manipulation | Reversing the bits of an integer. Tests careful bit shifting and masking. | LC Top, Blind 75 | 306 | | 113 | **[Missing Number](https://leetcode.com/problems/missing-number/)** | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Bit Manipulation (XOR), Math | Finding the missing number in a range using XOR properties or sum formula. | LC Top, Blind 75 | 307 | | 114 | ⭐ **[Sum of Two Integers](https://leetcode.com/problems/sum-of-two-integers/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Bit Manipulation | Adding numbers without using `+` or `-`. Tests understanding of bitwise addition. | LC Top, Blind 75 | 308 | | 115 | **[Reverse Integer](https://leetcode.com/problems/reverse-integer/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Math, Overflow Check | Reversing digits of an integer while handling potential overflow. | LC Top | 309 | | 116 | **[Pow(x, n)](https://leetcode.com/problems/powx-n/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Recursion, Math | Efficient exponentiation using recursion (exponentiation by squaring). | LC Top | 310 | | 117 | **[Rotate Image](https://leetcode.com/problems/rotate-image/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Math, Matrix | Rotating a matrix in-place. Tests index manipulation and layer-by-layer approach. | LC Top, NeetCode | 311 | | 118 | **[Spiral Matrix](https://leetcode.com/problems/spiral-matrix/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Matrix Traversal | Traversing a matrix in a spiral pattern. Tests boundary and direction handling. | LC Top, NeetCode | 312 | | 119 | **[Set Matrix Zeroes](https://leetcode.com/problems/set-matrix-zeroes/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Matrix, Space Optimization | Setting rows/columns to zero efficiently, often using O(1) extra space. | LC Top, NeetCode | 313 | 314 | --- 315 | 316 | ## 🧩 Intervals 317 | 318 | | # | Problem | Difficulty | Concepts | Why MAANG+ Loves It | Source Hint* | 319 | | :-- | :---------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :----------------- | :------------------------------------------------------------------------------------ | :--------------- | 320 | | 120 | ⭐ **[Insert Interval](https://leetcode.com/problems/insert-interval/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Interval Merging | Inserting a new interval into sorted, non-overlapping intervals and merging. | LC Top, Blind 75 | 321 | | 121 | ⭐ **[Merge Intervals](https://leetcode.com/problems/merge-intervals/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Sorting, Intervals | The canonical interval merging problem after sorting by start time. | LC Top, Blind 75 | 322 | | 122 | ⭐ **[Non-overlapping Intervals](https://leetcode.com/problems/non-overlapping-intervals/)** | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Greedy, Sorting | Finding minimum removals to make intervals non-overlapping. Classic greedy choice. | LC Top, Blind 75 | 323 | | 123 | **[Meeting Rooms](https://leetcode.com/problems/meeting-rooms/)** (Premium) | ![Easy](https://img.shields.io/badge/-Easy-green?style=flat-square) | Sorting, Intervals | Checking if a person can attend all meetings (no overlaps). Basic interval check. | Blind 75, NeetCode | 324 | | 124 | ⭐ **[Meeting Rooms II](https://leetcode.com/problems/meeting-rooms-ii/)** (Premium) | ![Medium](https://img.shields.io/badge/-Medium-yellow?style=flat-square) | Heap, Sorting | Finding the minimum number of rooms required. Tests heap or sweep-line logic. | Blind 75, NeetCode | 325 | | 125 | **[Minimum Interval to Include Each Query](https://leetcode.com/problems/minimum-interval-to-include-each-query/)** | ![Hard](https://img.shields.io/badge/-Hard-red?style=flat-square) | Heap, Sorting, Sweep Line | Advanced interval problem requiring efficient querying using heaps and sorting. | NeetCode | 326 | 327 | --- 328 | 329 | ## 🚀 Final Thoughts & Next Steps 330 | 331 | This list covers a broad spectrum of DSA patterns essential for MAANG+ interviews. 332 | 333 | 1. **Understand the Core Concept:** Don't just memorize solutions. Understand *why* a particular approach works (e.g., why use a heap for Kth largest? Why is Kadane's greedy?). 334 | 2. **Practice Variations:** Once you solve a problem, think about variations (e.g., different constraints, follow-up questions). 335 | 3. **Time Yourself:** Simulate interview conditions. Can you solve medium problems within 20-30 minutes? 336 | 4. **Explain Your Thought Process:** Practice articulating your solution clearly, step-by-step. This is crucial in interviews. 337 | 5. **Review Regularly:** Spaced repetition helps solidify concepts. 338 | 339 | Good luck with your preparation! You've got this! 🌟 340 | 341 | --- 342 | 343 | ## 💬 Contributing 344 | 345 | Found an issue? Think a critical problem is missing? We welcome **Pull Requests** and **Issues**! Please check our (optional) `CONTRIBUTING.md` guide for details. Let's make this the best resource for everyone! 346 | 347 | --- 348 | 349 | ## 🙌 Support 350 | 351 | If this repository helps you, please give it a ⭐! Share it with fellow engineers preparing for interviews. 352 | 353 | [![LinkedIn Badge](https://img.shields.io/badge/Connect-LinkedIn-blue?style=for-the-badge&logo=linkedin)](https://www.linkedin.com/in/vikashpr/) 354 | [![Website Badge](https://img.shields.io/badge/My_Website-gray?style=for-the-badge&logo=firefoxbrowser)](https://vikashpr.com/) 355 | 356 | --------------------------------------------------------------------------------