Files
cpp-flashcards/leetcode/out/roadmap.json
T
tomatocream dfadc1ca48 refactor: move DSA notes to org/study_deck_02/
Restructure NeetCode study materials into a dedicated Anki-exportable
deck directory. Separates DSA problem notes from C++ flashcards.

- Move roadmap.org from leetcode/out/ to org/study_deck_02/
- Move 200 note files from org/cpp/dsa/ to org/study_deck_02/dsa/
- Add #+PROPERTY: STUDY_DECK_02 to all org files for org-anki export
- Simplify roadmap format: properties drawer replaces nested headings
- Update NEETCODE backlinks in all note files
- Update extract.mjs and scaffold-notes.mjs for new paths
- Create org/study_deck_02/AGENTS.md with study workflow docs
- Update root and leetcode AGENTS.md
2026-06-01 16:12:21 +08:00

8674 lines
270 KiB
JSON

{
"source": "https://neetcode.io/roadmap",
"extracted": "2026-06-01",
"graph": {
"nodes": [
{
"id": "1",
"name": "Arrays & Hashing",
"prerequisites": []
},
{
"id": "2",
"name": "Two Pointers",
"prerequisites": [
"1"
]
},
{
"id": "6",
"name": "Binary Search",
"prerequisites": [
"2"
]
},
{
"id": "3",
"name": "Stack",
"prerequisites": [
"1"
]
},
{
"id": "4",
"name": "Sliding Window",
"prerequisites": [
"2"
]
},
{
"id": "5",
"name": "Linked List",
"prerequisites": [
"2"
]
},
{
"id": "7",
"name": "Trees",
"prerequisites": [
"5",
"6"
]
},
{
"id": "8",
"name": "Tries",
"prerequisites": [
"7"
]
},
{
"id": "9",
"name": "Heap / Priority Queue",
"prerequisites": [
"7"
]
},
{
"id": "10",
"name": "Backtracking",
"prerequisites": [
"7"
]
},
{
"id": "11",
"name": "Graphs",
"prerequisites": [
"10"
]
},
{
"id": "12",
"name": "1-D Dynamic Programming",
"prerequisites": [
"10"
]
},
{
"id": "13",
"name": "Intervals",
"prerequisites": [
"9"
]
},
{
"id": "16",
"name": "Greedy",
"prerequisites": [
"9"
]
},
{
"id": "17",
"name": "Advanced Graphs",
"prerequisites": [
"9",
"11"
]
},
{
"id": "18",
"name": "Math & Geometry",
"prerequisites": [
"11",
"15"
]
},
{
"id": "14",
"name": "2-D Dynamic Programming",
"prerequisites": [
"11",
"12"
]
},
{
"id": "15",
"name": "Bit Manipulation",
"prerequisites": [
"12"
]
}
],
"edges": [
{
"from": "1",
"to": "2",
"meaning": "prerequisite"
},
{
"from": "2",
"to": "6",
"meaning": "prerequisite"
},
{
"from": "1",
"to": "3",
"meaning": "prerequisite"
},
{
"from": "2",
"to": "4",
"meaning": "prerequisite"
},
{
"from": "2",
"to": "5",
"meaning": "prerequisite"
},
{
"from": "5",
"to": "7",
"meaning": "prerequisite"
},
{
"from": "6",
"to": "7",
"meaning": "prerequisite"
},
{
"from": "7",
"to": "8",
"meaning": "prerequisite"
},
{
"from": "7",
"to": "9",
"meaning": "prerequisite"
},
{
"from": "7",
"to": "10",
"meaning": "prerequisite"
},
{
"from": "10",
"to": "11",
"meaning": "prerequisite"
},
{
"from": "10",
"to": "12",
"meaning": "prerequisite"
},
{
"from": "9",
"to": "13",
"meaning": "prerequisite"
},
{
"from": "9",
"to": "16",
"meaning": "prerequisite"
},
{
"from": "9",
"to": "17",
"meaning": "prerequisite"
},
{
"from": "11",
"to": "17",
"meaning": "prerequisite"
},
{
"from": "11",
"to": "18",
"meaning": "prerequisite"
},
{
"from": "15",
"to": "18",
"meaning": "prerequisite"
},
{
"from": "11",
"to": "14",
"meaning": "prerequisite"
},
{
"from": "12",
"to": "14",
"meaning": "prerequisite"
},
{
"from": "12",
"to": "15",
"meaning": "prerequisite"
}
]
},
"problemsByTopic": {
"Arrays & Hashing": [
{
"name": "Concatenation of Array",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1929-concatenation-of-array",
"link": "concatenation-of-array/",
"video": "68isPRHgcFQ",
"neetcode250": true
},
{
"name": "Contains Duplicate",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0217-contains-duplicate",
"link": "contains-duplicate/",
"video": "3OamzN90kPg",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Valid Anagram",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0242-valid-anagram",
"link": "valid-anagram/",
"video": "9UtInBqnCgA",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Replace Elements With Greatest Element On Right Side",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1299-replace-elements-with-greatest-element-on-right-side",
"link": "replace-elements-with-greatest-element-on-right-side/",
"video": "ZHjKhUjcsaU",
"blind75": true,
"neetcode250": true
},
{
"name": "Is Subsequence",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0392-is-subsequence",
"link": "is-subsequence/",
"video": "99RVfqklbCE"
},
{
"name": "Append Characters to String to Make Subsequence",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2486-append-characters-to-string-to-make-subsequence",
"link": "append-characters-to-string-to-make-subsequence/",
"video": "gKDmO8ZLRD8"
},
{
"name": "Score of a String",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "3110-score-of-a-string",
"link": "score-of-a-string/",
"video": "imbrLFL20tQ"
},
{
"name": "Length of Last Word",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0058-length-of-last-word",
"link": "length-of-last-word/",
"video": "KT9rltZTybQ"
},
{
"name": "Valid Word Square",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0422-valid-word-square",
"link": "valid-word-square/"
},
{
"name": "Perform String Shifts",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1427-perform-string-shifts",
"link": "perform-string-shifts/"
},
{
"name": "Design Compressed String Iterator",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0604-design-compressed-string-iterator",
"link": "design-compressed-string-iterator/"
},
{
"name": "Logger Rate Limiter",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0359-logger-rate-limiter",
"link": "logger-rate-limiter/"
},
{
"name": "Moving Average from Data Stream",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0346-moving-average-from-data-stream",
"link": "moving-average-from-data-stream/"
},
{
"name": "Maximum Distance in Arrays",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0624-maximum-distance-in-arrays",
"link": "maximum-distance-in-arrays/",
"video": "J0yYlj_oVTI"
},
{
"name": "Lonely Pixel I",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0531-lonely-pixel-i",
"link": "lonely-pixel-i/"
},
{
"name": "Sparse Matrix Multiplication",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0311-sparse-matrix-multiplication",
"link": "sparse-matrix-multiplication/"
},
{
"name": "Candy Crush",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0723-candy-crush",
"link": "candy-crush/"
},
{
"name": "Find Smallest Common Element in All Rows",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1198-find-smallest-common-element-in-all-rows",
"link": "find-smallest-common-element-in-all-rows/"
},
{
"name": "One Edit Distance",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0161-one-edit-distance",
"link": "one-edit-distance/"
},
{
"name": "Reverse Words in a String II",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0186-reverse-words-in-a-string-ii",
"link": "reverse-words-in-a-string-ii/"
},
{
"name": "Shortest Way to Form String",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1055-shortest-way-to-form-string",
"link": "shortest-way-to-form-string/"
},
{
"name": "First Unique Number",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1429-first-unique-number",
"link": "first-unique-number/"
},
{
"name": "Design Tic-Tac-Toe",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0348-design-tic-tac-toe",
"link": "design-tic-tac-toe/"
},
{
"name": "Design Snake Game",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0353-design-snake-game",
"link": "design-snake-game/"
},
{
"name": "Zigzag Iterator",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0281-zigzag-iterator",
"link": "zigzag-iterator/"
},
{
"name": "Design A Leaderboard",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1244-design-a-leaderboard",
"link": "design-a-leaderboard/"
},
{
"name": "Number of Senior Citizens",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "2678-number-of-senior-citizens",
"link": "number-of-senior-citizens/",
"video": "l6_wwKzFmVo",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Two Sum",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0001-two-sum",
"link": "two-sum/",
"video": "KLlXCFG5TnA",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Max Consecutive Ones",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0485-max-consecutive-ones",
"link": "max-consecutive-ones/",
"neetcode250": true
},
{
"name": "Longest Common Prefix",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0014-longest-common-prefix",
"link": "longest-common-prefix/",
"video": "0sWShKIJoo4",
"neetcode250": true
},
{
"name": "String Matching in an Array",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1408-string-matching-in-an-array",
"link": "string-matching-in-an-array/",
"video": "7K2BjgjCFDo",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Group Anagrams",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0049-group-anagrams",
"link": "group-anagrams/",
"video": "vzdNOK2oB2E",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Pascals Triangle",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0118-pascals-triangle",
"link": "pascals-triangle/",
"video": "nPVEaB3AjUM",
"neetcode250": true
},
{
"name": "Remove Element",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0027-remove-element",
"link": "remove-element/",
"video": "Pcd1ii9P9ZI",
"neetcode250": true
},
{
"name": "Unique Email Addresses",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0929-unique-email-addresses",
"link": "unique-email-addresses/",
"video": "TC_xLIWl7qY",
"neetcode250": true
},
{
"name": "Isomorphic Strings",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0205-isomorphic-strings",
"link": "isomorphic-strings/",
"video": "7yF-U1hLEqQ"
},
{
"name": "Can Place Flowers",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0605-can-place-flowers",
"link": "can-place-flowers/",
"video": "ZGxqqjljpUI",
"neetcode250": true
},
{
"name": "Majority Element",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0169-majority-element",
"link": "majority-element/",
"video": "7pnhv842keE",
"neetcode250": true
},
{
"name": "Maximum Difference Between Even and Odd Frequency I",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "3442-maximum-difference-between-even-and-odd-frequency-i",
"link": "maximum-difference-between-even-and-odd-frequency-i/",
"neetcode250": true
},
{
"name": "Next Greater Element I",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0496-next-greater-element-i",
"link": "next-greater-element-i/",
"video": "68a1Dc_qVq4"
},
{
"name": "Longest Strictly Increasing or Strictly Decreasing Subarray",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "3105-longest-strictly-increasing-or-strictly-decreasing-subarray",
"link": "longest-strictly-increasing-or-strictly-decreasing-subarray/",
"video": "zDbApBI7UpE"
},
{
"name": "Maximum Ascending Subarray Sum",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1800-maximum-ascending-subarray-sum",
"link": "maximum-ascending-subarray-sum/",
"video": "NcsmaL_e_Zg"
},
{
"name": "Find Pivot Index",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0724-find-pivot-index",
"link": "find-pivot-index/",
"video": "u89i60lYx8U"
},
{
"name": "Kth Distinct String in an Array",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "2053-kth-distinct-string-in-an-array",
"link": "kth-distinct-string-in-an-array/",
"video": "1KOnvGPv9Mo"
},
{
"name": "Range Sum Query - Immutable",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0303-range-sum-query-immutable",
"link": "range-sum-query-immutable/",
"video": "2pndAmo_sMA"
},
{
"name": "Find All Numbers Disappeared in An Array",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0448-find-all-numbers-disappeared-in-an-array",
"link": "find-all-numbers-disappeared-in-an-array/",
"video": "8i-f24YFWC4"
},
{
"name": "Find Missing and Repeated Values",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "2965-find-missing-and-repeated-values",
"link": "find-missing-and-repeated-values/",
"video": "LQGmWiDuTw8"
},
{
"name": "Maximum Number of Balloons",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1189-maximum-number-of-balloons",
"link": "maximum-number-of-balloons/",
"video": "G9xeB2-7PqY"
},
{
"name": "Word Pattern",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0290-word-pattern",
"link": "word-pattern/",
"video": "W_akoecmCbM",
"neetcode250": true
},
{
"name": "Design HashSet",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0705-design-hashset",
"link": "design-hashset/",
"video": "VymjPQUXjL8",
"neetcode250": true
},
{
"name": "Design HashMap",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0706-design-hashmap",
"link": "design-hashmap/",
"video": "cNWsgbKwwoU",
"neetcode250": true
},
{
"name": "Height Checker",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1051-height-checker",
"link": "height-checker/",
"video": "mQAoeYaE3Xk",
"neetcode250": true
},
{
"name": "Find Lucky Integer in an Array",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1394-find-lucky-integer-in-an-array",
"link": "find-lucky-integer-in-an-array/"
},
{
"name": "Special Array I",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "3151-special-array-i",
"link": "special-array-i/",
"video": "RY6P9V878-0"
},
{
"name": "Check if Array Is Sorted and Rotated",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1752-check-if-array-is-sorted-and-rotated",
"link": "check-if-array-is-sorted-and-rotated/",
"video": "Vzs_vlCIFEw"
},
{
"name": "Monotonic Array",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0896-monotonic-array",
"link": "monotonic-array/",
"video": "sqWOFIZ9Z0U"
},
{
"name": "Divide Array Into Equal Pairs",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "2206-divide-array-into-equal-pairs",
"link": "divide-array-into-equal-pairs/",
"video": "vxcpdClAktE"
},
{
"name": "Number of Good Pairs",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1512-number-of-good-pairs",
"link": "number-of-good-pairs/",
"video": "BqhDFUo1rjs"
},
{
"name": "Pascal's Triangle II",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0119-pascals-triangle-ii",
"link": "pascals-triangle-ii/",
"video": "k1DNTyal77I"
},
{
"name": "Find Words That Can Be Formed by Characters",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1160-find-words-that-can-be-formed-by-characters",
"link": "find-words-that-can-be-formed-by-characters/",
"video": "EQ5jTZdEn8Y"
},
{
"name": "Count the Number of Consistent Strings",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1684-count-the-number-of-consistent-strings",
"link": "count-the-number-of-consistent-strings/",
"video": "CFa2TgIHMN0"
},
{
"name": "Ransom Note",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0383-ransom-note",
"link": "ransom-note/"
},
{
"name": "Largest 3-Same-Digit Number in String",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "2264-largest-3-same-digit-number-in-string",
"link": "largest-3-same-digit-number-in-string/",
"video": "vcrOpJQHsSE"
},
{
"name": "Destination City",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1436-destination-city",
"link": "destination-city/",
"video": "Hi8vMnnTZHE"
},
{
"name": "Maximum Product Difference Between Two Pairs",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1913-maximum-product-difference-between-two-pairs",
"link": "maximum-product-difference-between-two-pairs/",
"video": "wBPoEm3r3EA"
},
{
"name": "Circular Sentence",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "2490-circular-sentence",
"link": "circular-sentence/",
"video": "9Ty_eRjoDNM"
},
{
"name": "Maximum Score After Splitting a String",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1422-maximum-score-after-splitting-a-string",
"link": "maximum-score-after-splitting-a-string/",
"video": "mc_eSStDrWw"
},
{
"name": "Path Crossing",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1496-path-crossing",
"link": "path-crossing/",
"video": "VWRJBNP7uH8"
},
{
"name": "Minimum Changes To Make Alternating Binary String",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1758-minimum-changes-to-make-alternating-binary-string",
"link": "minimum-changes-to-make-alternating-binary-string/",
"video": "9vAQdmVU2ds"
},
{
"name": "Redistribute Characters to Make All Strings Equal",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1897-redistribute-characters-to-make-all-strings-equal",
"link": "redistribute-characters-to-make-all-strings-equal/",
"video": "a3SmUiimBi8"
},
{
"name": "Longest Palindrome",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0409-longest-palindrome",
"link": "longest-palindrome/",
"video": "_g9jrLuAphs"
},
{
"name": "Largest Substring Between Two Equal Characters",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1624-largest-substring-between-two-equal-characters",
"link": "largest-substring-between-two-equal-characters/",
"video": "66b2V_rCuJw"
},
{
"name": "Set Mismatch",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0645-set-mismatch",
"link": "set-mismatch/",
"video": "d-ulaeRBA64"
},
{
"name": "First Unique Character in a String",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0387-first-unique-character-in-a-string",
"link": "first-unique-character-in-a-string/",
"video": "rBENYgWy3xU"
},
{
"name": "Intersection of Two Arrays",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0349-intersection-of-two-arrays",
"link": "intersection-of-two-arrays/",
"video": "fwUTXaMom6U"
},
{
"name": "Find Common Characters",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1002-find-common-characters",
"link": "find-common-characters/",
"video": "QEESBA2Q_88"
},
{
"name": "Number of Students Unable to Eat Lunch",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1700-number-of-students-unable-to-eat-lunch",
"link": "number-of-students-unable-to-eat-lunch/",
"video": "d_cvtFwnOZg"
},
{
"name": "Time Needed to Buy Tickets",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "2073-time-needed-to-buy-tickets",
"link": "time-needed-to-buy-tickets/",
"video": "cVmS9N6kf2Y"
},
{
"name": "Special Array with X Elements Greater than or Equal X",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1608-special-array-with-x-elements-greater-than-or-equal-x",
"link": "special-array-with-x-elements-greater-than-or-equal-x/",
"video": "Z51jYCeBLVI"
},
{
"name": "Array Transformation",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1243-array-transformation",
"link": "array-transformation/"
},
{
"name": "Shortest Word Distance",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0243-shortest-word-distance",
"link": "shortest-word-distance/"
},
{
"name": "Count Vowel Strings in Ranges",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2559-count-vowel-strings-in-ranges",
"link": "count-vowel-strings-in-ranges/",
"video": "TLJd7W-z-yc"
},
{
"name": "Average Waiting Time",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1701-average-waiting-time",
"link": "average-waiting-time/",
"video": "2fN7uIgCIBA",
"neetcode250": true
},
{
"name": "Sort an Array",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0912-sort-an-array",
"link": "sort-an-array/",
"video": "MsYZSinhuFo",
"neetcode250": true
},
{
"name": "Sort Colors",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0075-sort-colors",
"link": "sort-colors/",
"video": "4xbWSRZHqac",
"neetcode250": true
},
{
"name": "Relative Sort Array",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1122-relative-sort-array",
"link": "relative-sort-array/",
"video": "OPvcR1e4lfg",
"neetcode250": true
},
{
"name": "Sort the People",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "2418-sort-the-people",
"link": "sort-the-people/",
"video": "Zv_gXqqslbw"
},
{
"name": "Sort Array by Increasing Frequency",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1636-sort-array-by-increasing-frequency",
"link": "sort-array-by-increasing-frequency/",
"video": "Evq1SfUbhBg"
},
{
"name": "Custom Sort String",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0791-custom-sort-string",
"link": "custom-sort-string/"
},
{
"name": "Top K Frequent Elements",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0347-top-k-frequent-elements",
"link": "top-k-frequent-elements/",
"video": "YPTqKIgVk-k",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Encode and Decode Strings",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0271-encode-and-decode-strings",
"link": "encode-and-decode-strings/",
"video": "B1k_sxOSgv8",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Range Sum Query 2D Immutable",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0304-range-sum-query-2d-immutable",
"link": "range-sum-query-2d-immutable/",
"video": "KE8MQuwE2yA",
"neetcode250": true
},
{
"name": "Analyze User Website Visit Pattern",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1152-analyze-user-website-visit-pattern",
"link": "analyze-user-website-visit-pattern/"
},
{
"name": "Product of Array Except Self",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0238-product-of-array-except-self",
"link": "product-of-array-except-self/",
"video": "bNvIQI2wAjk",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Minimum Number of Operations to Move All Balls to Each Box",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1769-minimum-number-of-operations-to-move-all-balls-to-each-box",
"link": "minimum-number-of-operations-to-move-all-balls-to-each-box/",
"video": "ZmH3gHiIqfI",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Valid Sudoku",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0036-valid-sudoku",
"link": "valid-sudoku/",
"video": "TjFXEUCMqI8",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Longest Consecutive Sequence",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0128-longest-consecutive-sequence",
"link": "longest-consecutive-sequence/",
"video": "P6RZZMu_maU",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Encode and Decode TinyURL",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0535-encode-and-decode-tinyurl",
"link": "encode-and-decode-tinyurl/",
"video": "VyBOaboQLGc"
},
{
"name": "Brick Wall",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0554-brick-wall",
"link": "brick-wall/",
"video": "Kkmv2h48ekw"
},
{
"name": "Best Time to Buy And Sell Stock II",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0122-best-time-to-buy-and-sell-stock-ii",
"link": "best-time-to-buy-and-sell-stock-ii/",
"video": "3SJ3pUkPQMc",
"neetcode250": true
},
{
"name": "Majority Element II",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0229-majority-element-ii",
"link": "majority-element-ii/",
"video": "Eua-UrQ_ANo",
"neetcode250": true
},
{
"name": "Minimum Index of a Valid Split",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2780-minimum-index-of-a-valid-split",
"link": "minimum-index-of-a-valid-split/",
"video": "XemmMMz_0mU",
"neetcode250": true
},
{
"name": "Subarray Sum Equals K",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0560-subarray-sum-equals-k",
"link": "subarray-sum-equals-k/",
"video": "fFVZt-6sgyo",
"neetcode250": true
},
{
"name": "Subarray Sums Divisible by K",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0974-subarray-sums-divisible-by-k",
"link": "subarray-sums-divisible-by-k/",
"video": "bcXy-T4Sc3E",
"neetcode250": true
},
{
"name": "Make Sum Divisible by P",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1590-make-sum-divisible-by-p",
"link": "make-sum-divisible-by-p/",
"video": "tZXsLAyE0SE"
},
{
"name": "Unique Length 3 Palindromic Subsequences",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1930-unique-length-3-palindromic-subsequences",
"link": "unique-length-3-palindromic-subsequences/",
"video": "3THUt0vAFLU"
},
{
"name": "Number of Sub-arrays With Odd Sum",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1524-number-of-sub-arrays-with-odd-sum",
"link": "number-of-sub-arrays-with-odd-sum/",
"video": "AIlI-24oC6Q"
},
{
"name": "Minimum Number of Swaps to Make The String Balanced",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1963-minimum-number-of-swaps-to-make-the-string-balanced",
"link": "minimum-number-of-swaps-to-make-the-string-balanced/",
"video": "3YDBT9ZrfaU"
},
{
"name": "Number of Pairs of Interchangeable Rectangles",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2001-number-of-pairs-of-interchangeable-rectangles",
"link": "number-of-pairs-of-interchangeable-rectangles/",
"video": "lEQ8ZlLOuyQ"
},
{
"name": "Maximum Product of The Length of Two Palindromic Subsequences",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2002-maximum-product-of-the-length-of-two-palindromic-subsequences",
"link": "maximum-product-of-the-length-of-two-palindromic-subsequences/",
"video": "aoHbYlO8vDg"
},
{
"name": "Grid Game",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2017-grid-game",
"link": "grid-game/",
"video": "N4wDSOw65hI"
},
{
"name": "Find All Anagrams in a String",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0438-find-all-anagrams-in-a-string",
"link": "find-all-anagrams-in-a-string/",
"video": "G8xtZy0fDKg"
},
{
"name": "Find The Index of The First Occurrence in a String",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0028-find-the-index-of-the-first-occurrence-in-a-string",
"link": "find-the-index-of-the-first-occurrence-in-a-string/",
"video": "JoF0Z7nVSrA"
},
{
"name": "Wiggle Sort",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0280-wiggle-sort",
"link": "wiggle-sort/",
"video": "vGsyTE4s34w"
},
{
"name": "Largest Number",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0179-largest-number",
"link": "largest-number/",
"video": "WDx6Y4i4xJ8"
},
{
"name": "Continuous Subarray Sum",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0523-continuous-subarray-sum",
"link": "continuous-subarray-sum/",
"video": "OKcrLfR-8mE"
},
{
"name": "Push Dominoes",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0838-push-dominoes",
"link": "push-dominoes/",
"video": "evUFsOb_iLY"
},
{
"name": "Repeated DNA Sequences",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0187-repeated-dna-sequences",
"link": "repeated-dna-sequences/",
"video": "FzTYfsmtOso"
},
{
"name": "Insert Delete Get Random O(1)",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0380-insert-delete-getrandom-o1",
"link": "insert-delete-getrandom-o1/",
"video": "j4KwhBziOpg"
},
{
"name": "Check if a String Contains all Binary Codes of Size K",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1461-check-if-a-string-contains-all-binary-codes-of-size-k",
"link": "check-if-a-string-contains-all-binary-codes-of-size-k/",
"video": "qU32rTy_kOM"
},
{
"name": "Non Decreasing Array",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0665-non-decreasing-array",
"link": "non-decreasing-array/",
"video": "RegQckCegDk"
},
{
"name": "Number of Ways to Split Array",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2270-number-of-ways-to-split-array",
"link": "number-of-ways-to-split-array/",
"video": "JK_zuiNYJOQ"
},
{
"name": "Sign of An Array",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1822-sign-of-the-product-of-an-array",
"link": "sign-of-the-product-of-an-array/",
"video": "ILDLM86jNow"
},
{
"name": "Find the Difference of Two Arrays",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "2215-find-the-difference-of-two-arrays",
"link": "find-the-difference-of-two-arrays/",
"video": "a4wqKR-znBE"
},
{
"name": "Uncommon Words from Two Sentences",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "0884-uncommon-words-from-two-sentences",
"link": "uncommon-words-from-two-sentences/",
"video": "24IYW1kQdYU"
},
{
"name": "Design Parking System",
"pattern": "Arrays & Hashing",
"difficulty": "Easy",
"code": "1603-design-parking-system",
"link": "design-parking-system/",
"video": "d5zCHesOrSk"
},
{
"name": "Shifting Letters II",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2381-shifting-letters-ii",
"link": "shifting-letters-ii/",
"video": "eEUjVY7wK3k"
},
{
"name": "Number of Zero-Filled Subarrays",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2348-number-of-zero-filled-subarrays",
"link": "number-of-zero-filled-subarrays/",
"video": "G-EWVGCcL_w"
},
{
"name": "Word Subsets",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0916-word-subsets",
"link": "word-subsets/",
"video": "LFX61XMU22c"
},
{
"name": "Optimal Partition of String",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2405-optimal-partition-of-string",
"link": "optimal-partition-of-string/",
"video": "CKZPdiXiQf0"
},
{
"name": "Design Underground System",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1396-design-underground-system",
"link": "design-underground-system/",
"video": "W5QOLqXskZM"
},
{
"name": "Minimum Penalty for a Shop",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2483-minimum-penalty-for-a-shop",
"link": "minimum-penalty-for-a-shop/",
"video": "0d7ShRoOFVE"
},
{
"name": "Champagne Tower",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0799-champagne-tower",
"link": "champagne-tower/",
"video": "LQ8TuG_QADM"
},
{
"name": "Sum of Absolute Differences in a Sorted Array",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1685-sum-of-absolute-differences-in-a-sorted-array",
"link": "sum-of-absolute-differences-in-a-sorted-array/",
"video": "3nkc-e66JmA"
},
{
"name": "Design a Food Rating System",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2353-design-a-food-rating-system",
"link": "design-a-food-rating-system/",
"video": "Ikp8SgbgbEo"
},
{
"name": "Convert an Array Into a 2D Array With Conditions",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2610-convert-an-array-into-a-2d-array-with-conditions",
"link": "convert-an-array-into-a-2d-array-with-conditions/",
"video": "9pl1QiaGgmI"
},
{
"name": "Minimum Number of Operations to Make Array Empty",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2870-minimum-number-of-operations-to-make-array-empty",
"link": "minimum-number-of-operations-to-make-array-empty/",
"video": "_AcO35R0fss"
},
{
"name": "Divide Array Into Arrays With Max Difference",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2966-divide-array-into-arrays-with-max-difference",
"link": "divide-array-into-arrays-with-max-difference/",
"video": "XleOio1oJeo"
},
{
"name": "Sequential Digits",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1291-sequential-digits",
"link": "sequential-digits/",
"video": "Q-ca65wRJyI"
},
{
"name": "Sort Characters By Frequency",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0451-sort-characters-by-frequency",
"link": "sort-characters-by-frequency/",
"video": "OXdXc9HTrIg"
},
{
"name": "Sort the Jumbled Numbers",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2191-sort-the-jumbled-numbers",
"link": "sort-the-jumbled-numbers/",
"video": "rmkF2mxPoZM"
},
{
"name": "Find Polygon with the Largest Perimeter",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2971-find-polygon-with-the-largest-perimeter",
"link": "find-polygon-with-the-largest-perimeter/",
"video": "Yk9Mor-Y488"
},
{
"name": "Minimum Remove to Make Valid Parentheses",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1249-minimum-remove-to-make-valid-parentheses",
"link": "minimum-remove-to-make-valid-parentheses/",
"video": "mgQ4O9iUEbg"
},
{
"name": "Contiguous Array",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0525-contiguous-array",
"link": "contiguous-array/",
"video": "agB1LyObUNE"
},
{
"name": "Count Number of Bad Pairs",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2364-count-number-of-bad-pairs",
"link": "count-number-of-bad-pairs/",
"video": "h13Y9sDbQ6w"
},
{
"name": "Find All Duplicates in an Array",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0442-find-all-duplicates-in-an-array",
"link": "find-all-duplicates-in-an-array/",
"video": "Y8x0iAVEITo"
},
{
"name": "Find the Length of the Longest Common Prefix",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "3043-find-the-length-of-the-longest-common-prefix",
"link": "find-the-length-of-the-longest-common-prefix/",
"video": "06dIUJwdHlQ"
},
{
"name": "Count Unguarded Cells in the Grid",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2257-count-unguarded-cells-in-the-grid",
"link": "count-unguarded-cells-in-the-grid/",
"video": "3WVHdSWHxxQ"
},
{
"name": "Design Hit Counter",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0362-design-hit-counter",
"link": "design-hit-counter/"
},
{
"name": "Shortest Word Distance II",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0244-shortest-word-distance-ii",
"link": "shortest-word-distance-ii/"
},
{
"name": "Dot Product of Two Sparse Vectors",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1570-dot-product-of-two-sparse-vectors",
"link": "dot-product-of-two-sparse-vectors/"
},
{
"name": "Brightest Position on Street",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "2021-brightest-position-on-street",
"link": "brightest-position-on-street/"
},
{
"name": "Apply Substitutions",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "3481-apply-substitutions",
"link": "apply-substitutions/"
},
{
"name": "The Earliest Moment When Everyone Become Friends",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1101-the-earliest-moment-when-everyone-become-friends",
"link": "the-earliest-moment-when-everyone-become-friends/"
},
{
"name": "Range Sum Query 2D - Mutable",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0308-range-sum-query-2d-mutable",
"link": "range-sum-query-2d-mutable/"
},
{
"name": "Synonymous Sentences",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "1258-synonymous-sentences",
"link": "synonymous-sentences/"
},
{
"name": "Split Concatenated Strings",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0555-split-concatenated-strings",
"link": "split-concatenated-strings/"
},
{
"name": "Design Phone Directory",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0379-design-phone-directory",
"link": "design-phone-directory/"
},
{
"name": "Design Log Storage System",
"pattern": "Arrays & Hashing",
"difficulty": "Medium",
"code": "0635-design-log-storage-system",
"link": "design-log-storage-system/"
},
{
"name": "Text Justification",
"pattern": "Arrays & Hashing",
"difficulty": "Hard",
"code": "0068-text-justification",
"link": "text-justification/",
"video": "TzMl4Z7pVh8"
},
{
"name": "Naming a Company",
"pattern": "Arrays & Hashing",
"difficulty": "Hard",
"code": "2306-naming-a-company",
"link": "naming-a-company/",
"video": "NrHpgTScOcY"
},
{
"name": "Number of Submatrices that Sum to Target",
"pattern": "Arrays & Hashing",
"difficulty": "Hard",
"code": "1074-number-of-submatrices-that-sum-to-target",
"link": "number-of-submatrices-that-sum-to-target/",
"video": "43DRBP2DUHg",
"neetcode250": true
},
{
"name": "First Missing Positive",
"pattern": "Arrays & Hashing",
"difficulty": "Hard",
"code": "0041-first-missing-positive",
"link": "first-missing-positive/",
"video": "8g78yfzMlao",
"neetcode250": true
},
{
"name": "Shortest Palindrome",
"pattern": "Arrays & Hashing",
"difficulty": "Hard",
"code": "0214-shortest-palindrome/",
"link": "shortest-palindrome/",
"video": "niOT-FK1RH8",
"neetcode250": true
},
{
"name": "Number of Ships in a Rectangle",
"pattern": "Arrays & Hashing",
"difficulty": "Hard",
"code": "1274-number-of-ships-in-a-rectangle",
"link": "number-of-ships-in-a-rectangle/"
},
{
"name": "Time Taken to Cross the Door",
"pattern": "Arrays & Hashing",
"difficulty": "Hard",
"code": "2534-time-taken-to-cross-the-door",
"link": "time-taken-to-cross-the-door/"
},
{
"name": "Design Excel Sum Formula",
"pattern": "Arrays & Hashing",
"difficulty": "Hard",
"code": "0631-design-excel-sum-formula",
"link": "design-excel-sum-formula/",
"neetcode250": true
}
],
"Two Pointers": [
{
"name": "Reverse String",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "0344-reverse-string",
"link": "reverse-string/",
"video": "_d0T_2Lk2qA",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Valid Palindrome",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "0125-valid-palindrome",
"link": "valid-palindrome/",
"video": "jJXJ16kPFWg",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Valid Palindrome II",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "0680-valid-palindrome-ii",
"link": "valid-palindrome-ii/",
"video": "JrxRYBwG6EI",
"neetcode250": true
},
{
"name": "Valid Word Abbreviation",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "0408-valid-word-abbreviation",
"link": "valid-word-abbreviation/",
"video": "m7U90fpD2j0",
"neetcode250": true
},
{
"name": "Merge Strings Alternately",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "1768-merge-strings-alternately",
"link": "merge-strings-alternately/",
"video": "LECWOvTo-Sc",
"neetcode250": true
},
{
"name": "Merge Sorted Array",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "0088-merge-sorted-array",
"link": "merge-sorted-array/",
"video": "P1Ic85RarKY",
"neetcode250": true
},
{
"name": "Merge Two 2D Arrays by Summing Values",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "2570-merge-two-2d-arrays-by-summing-values",
"link": "merge-two-2d-arrays-by-summing-values/",
"video": "5MT4KsvOXYs",
"neetcode250": true
},
{
"name": "Move Zeroes",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "0283-move-zeroes",
"link": "move-zeroes/",
"video": "aayNRwUN3Do"
},
{
"name": "Remove Duplicates From Sorted Array",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "0026-remove-duplicates-from-sorted-array",
"link": "remove-duplicates-from-sorted-array/",
"video": "DEJAZBq0FDA",
"neetcode250": true
},
{
"name": "Squares of a Sorted Array",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "0977-squares-of-a-sorted-array",
"link": "squares-of-a-sorted-array/",
"video": "FPCZsG_AkUg"
},
{
"name": "Assign Cookies",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "0455-assign-cookies",
"link": "assign-cookies/",
"video": "JW8fgvoxPTg"
},
{
"name": "Find First Palindromic String in the Array",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "2108-find-first-palindromic-string-in-the-array",
"link": "find-first-palindromic-string-in-the-array/",
"video": "4JA5MW772N0"
},
{
"name": "Sort Array by Parity",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "0905-sort-array-by-parity",
"link": "sort-array-by-parity/",
"video": "QC4c9fyr8As"
},
{
"name": "Reverse Words in a String III",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "0557-reverse-words-in-a-string-iii",
"link": "reverse-words-in-a-string-iii/",
"video": "7kUEwiwwnlA"
},
{
"name": "Backspace String Compare",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "0844-backspace-string-compare",
"link": "backspace-string-compare/",
"video": "k2qrymM_DOo"
},
{
"name": "Check If Two String Arrays are Equivalent",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "1662-check-if-two-string-arrays-are-equivalent",
"link": "check-if-two-string-arrays-are-equivalent/",
"video": "ejBwc2oE7ck"
},
{
"name": "Apply Operations to an Array",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "2460-apply-operations-to-an-array",
"link": "apply-operations-to-an-array/",
"video": "ur0srHvM1cA"
},
{
"name": "Strobogrammatic Number",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "0246-strobogrammatic-number",
"link": "strobogrammatic-number/"
},
{
"name": "Two Sum Less Than K",
"pattern": "Two Pointers",
"difficulty": "Easy",
"code": "1099-two-sum-less-than-k",
"link": "two-sum-less-than-k/"
},
{
"name": "Adding Spaces to a String",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "2109-adding-spaces-to-a-string",
"link": "adding-spaces-to-a-string/",
"video": "jziDtPZJ4fw"
},
{
"name": "String Compression",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "0443-string-compression",
"link": "string-compression/"
},
{
"name": "Remove Duplicates From Sorted Array II",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "0080-remove-duplicates-from-sorted-array-ii",
"link": "remove-duplicates-from-sorted-array-ii/",
"video": "ycAq8iqh0TI"
},
{
"name": "Partition Array According to Given Pivot",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "2161-partition-array-according-to-given-pivot",
"link": "partition-array-according-to-given-pivot/",
"video": "OX0bCSG7EfE"
},
{
"name": "Two Sum II Input Array Is Sorted",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "0167-two-sum-ii-input-array-is-sorted",
"link": "two-sum-ii-input-array-is-sorted/",
"video": "cQ1Oz4ckceM",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "3Sum",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "0015-3sum",
"link": "3sum/",
"video": "jzZsG8n2R9A",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "4Sum",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "0018-4sum",
"link": "4sum/",
"video": "EYeR-_1NRlQ",
"neetcode250": true
},
{
"name": "Rotate Array",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "0189-rotate-array",
"link": "rotate-array/",
"video": "BHr381Guz3Y",
"neetcode250": true
},
{
"name": "Container With Most Water",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "0011-container-with-most-water",
"link": "container-with-most-water/",
"video": "UuiTKBwPgAo",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Number of Subsequences That Satisfy The Given Sum Condition",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "1498-number-of-subsequences-that-satisfy-the-given-sum-condition",
"link": "number-of-subsequences-that-satisfy-the-given-sum-condition/",
"video": "xCsIkPLS4Ls",
"neetcode250": true
},
{
"name": "Array With Elements Not Equal to Average of Neighbors",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "1968-array-with-elements-not-equal-to-average-of-neighbors",
"link": "array-with-elements-not-equal-to-average-of-neighbors/",
"video": "Wmb3YdVYfqM"
},
{
"name": "Divide Players Into Teams of Equal Skill",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "2491-divide-players-into-teams-of-equal-skill",
"link": "divide-players-into-teams-of-equal-skill/",
"video": "cueOpK5QMEA",
"neetcode250": true
},
{
"name": "Boats to Save People",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "0881-boats-to-save-people",
"link": "boats-to-save-people/",
"video": "XbaxWuHIWUs",
"neetcode250": true
},
{
"name": "K-th Symbol in Grammar",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "0779-k-th-symbol-in-grammar",
"link": "k-th-symbol-in-grammar/",
"video": "pmD2HCKaqRQ",
"neetcode250": true
},
{
"name": "Minimum Time To Make Rope Colorful",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "1578-minimum-time-to-make-rope-colorful",
"link": "minimum-time-to-make-rope-colorful/",
"video": "9_9jwd2DHMU"
},
{
"name": "Rearrange Array Elements by Sign",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "2149-rearrange-array-elements-by-sign",
"link": "rearrange-array-elements-by-sign/",
"video": "SoPmcGzz9-E"
},
{
"name": "Bag of Tokens",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "0948-bag-of-tokens",
"link": "bag-of-tokens/",
"video": "prI82maTivg"
},
{
"name": "Minimum Length of String after Deleting Similar Ends",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "1750-minimum-length-of-string-after-deleting-similar-ends",
"link": "minimum-length-of-string-after-deleting-similar-ends/",
"video": "318hrWVr_5U"
},
{
"name": "Sentence Similarity III",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "1813-sentence-similarity-iii",
"link": "sentence-similarity-iii/",
"video": "tkLM-ClhwWM"
},
{
"name": "Meeting Scheduler",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "1229-meeting-scheduler",
"link": "meeting-scheduler/"
},
{
"name": "Product of Two Run Length Encoded Arrays",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "1868-product-of-two-run-length-encoded-arrays",
"link": "product-of-two-run-length-encoded-arrays/"
},
{
"name": "Sort Transformed Array",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "0360-sort-transformed-array",
"link": "sort-transformed-array/"
},
{
"name": "3Sum Smaller",
"pattern": "Two Pointers",
"difficulty": "Medium",
"code": "0259-3sum-smaller",
"link": "3sum-smaller/",
"neetcode150": true
},
{
"name": "Trapping Rain Water",
"pattern": "Two Pointers",
"difficulty": "Hard",
"code": "0042-trapping-rain-water",
"link": "trapping-rain-water/",
"video": "ZI2z5pq0TqA",
"neetcode150": true,
"neetcode250": true
}
],
"Sliding Window": [
{
"name": "Contains Duplicate II",
"pattern": "Sliding Window",
"difficulty": "Easy",
"code": "0219-contains-duplicate-ii",
"link": "contains-duplicate-ii/",
"video": "ypn0aZ0nrL4",
"neetcode250": true
},
{
"name": "Best Time to Buy And Sell Stock",
"pattern": "Sliding Window",
"difficulty": "Easy",
"code": "0121-best-time-to-buy-and-sell-stock",
"link": "best-time-to-buy-and-sell-stock/",
"video": "1pkOgXD63yU",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Minimum Recolors to Get K Consecutive Black Blocks",
"pattern": "Sliding Window",
"difficulty": "Easy",
"code": "2379-minimum-recolors-to-get-k-consecutive-black-blocks",
"link": "minimum-recolors-to-get-k-consecutive-black-blocks/",
"video": "cWz4_zUegxE",
"neetcode250": true
},
{
"name": "Minimum Difference Between Highest And Lowest of K Scores",
"pattern": "Sliding Window",
"difficulty": "Easy",
"code": "1984-minimum-difference-between-highest-and-lowest-of-k-scores",
"link": "minimum-difference-between-highest-and-lowest-of-k-scores/",
"video": "JU5XdBZZtlk"
},
{
"name": "Number of Sub Arrays of Size K and Avg Greater than or Equal to Threshold",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "1343-number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold",
"link": "number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold/",
"video": "D8B4tKxMTnY"
},
{
"name": "Grumpy Bookstore Owner",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "1052-grumpy-bookstore-owner",
"link": "grumpy-bookstore-owner/",
"video": "pXFbNuEIn8Q"
},
{
"name": "Max Consecutive Ones II",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "0487-max-consecutive-ones-ii",
"link": "max-consecutive-ones-ii/"
},
{
"name": "Longest Substring with At Most Two Distinct Characters",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "0159-longest-substring-with-at-most-two-distinct-characters",
"link": "longest-substring-with-at-most-two-distinct-characters/"
},
{
"name": "Longest Substring with At Most K Distinct Characters",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "0340-longest-substring-with-at-most-k-distinct-characters",
"link": "longest-substring-with-at-most-k-distinct-characters/"
},
{
"name": "Find K-Length Substrings With No Repeated Characters",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "1100-find-k-length-substrings-with-no-repeated-characters",
"link": "find-k-length-substrings-with-no-repeated-characters/"
},
{
"name": "Alternating Groups II",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "3208-alternating-groups-ii",
"link": "alternating-groups-ii/",
"video": "Zexx16dNPX8"
},
{
"name": "Longest Substring Without Repeating Characters",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "0003-longest-substring-without-repeating-characters",
"link": "longest-substring-without-repeating-characters/",
"video": "wiGpQwVHdE0",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Longest Repeating Character Replacement",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "0424-longest-repeating-character-replacement",
"link": "longest-repeating-character-replacement/",
"video": "gqXU1UyA8pk",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Permutation In String",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "0567-permutation-in-string",
"link": "permutation-in-string/",
"video": "UbyhOgBN834",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Frequency of The Most Frequent Element",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "1838-frequency-of-the-most-frequent-element",
"link": "frequency-of-the-most-frequent-element/",
"video": "vgBrQ0NM5vE",
"neetcode250": true
},
{
"name": "Fruit into Basket",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "0904-fruit-into-baskets",
"link": "fruit-into-baskets/",
"video": "yYtaV0G3mWQ"
},
{
"name": "Maximum Number of Vowels in a Substring of Given Length",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "1456-maximum-number-of-vowels-in-a-substring-of-given-length",
"link": "maximum-number-of-vowels-in-a-substring-of-given-length/",
"video": "kEfPSzgL-Ss"
},
{
"name": "Minimum Number of Flips to Make The Binary String Alternating",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "1888-minimum-number-of-flips-to-make-the-binary-string-alternating",
"link": "minimum-number-of-flips-to-make-the-binary-string-alternating/",
"video": "MOeuK6gaC2A"
},
{
"name": "Defuse the Bomb",
"pattern": "Sliding Window",
"difficulty": "Easy",
"code": "1652-defuse-the-bomb",
"link": "defuse-the-bomb/",
"video": "c4oOIi5YTE4",
"neetcode250": true
},
{
"name": "Minimum Size Subarray Sum",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "0209-minimum-size-subarray-sum",
"link": "minimum-size-subarray-sum/",
"video": "aYqYMIqZx5s",
"neetcode250": true
},
{
"name": "Find K Closest Elements",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "0658-find-k-closest-elements",
"link": "find-k-closest-elements/",
"video": "o-YDQzHoaKM",
"neetcode250": true
},
{
"name": "Minimum Operations to Reduce X to Zero",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "1658-minimum-operations-to-reduce-x-to-zero",
"link": "minimum-operations-to-reduce-x-to-zero/",
"video": "xumn16n7njs",
"neetcode250": true
},
{
"name": "Get Equal Substrings Within Budget",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "1208-get-equal-substrings-within-budget",
"link": "get-equal-substrings-within-budget/",
"video": "3lsT1Le526U"
},
{
"name": "Number of Substrings Containing All Three Characters",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "1358-number-of-substrings-containing-all-three-characters",
"link": "number-of-substrings-containing-all-three-characters/",
"video": "iSf7d2ldp70"
},
{
"name": "Binary Subarrays with Sum",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "0930-binary-subarrays-with-sum",
"link": "binary-subarrays-with-sum/",
"video": "j4JDr4-jvo4"
},
{
"name": "Count Number of Nice Subarrays",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "1248-count-number-of-nice-subarrays",
"link": "count-number-of-nice-subarrays/",
"video": "4zNK0rhFfcA"
},
{
"name": "Subarray Product Less Than K",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "0713-subarray-product-less-than-k",
"link": "subarray-product-less-than-k/",
"video": "Cg6_nF7YIks"
},
{
"name": "Max Consecutive Ones III",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "1004-max-consecutive-ones-iii",
"link": "max-consecutive-ones-iii/"
},
{
"name": "Find the Power of K-Size Subarrays I",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "3254-find-the-power-of-k-size-subarrays-i",
"link": "find-the-power-of-k-size-subarrays-i/",
"video": "67QUp_zOIFg"
},
{
"name": "Maximum Sum of Distinct Subarrays With Length K",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "2461-maximum-sum-of-distinct-subarrays-with-length-k",
"link": "maximum-sum-of-distinct-subarrays-with-length-k/",
"video": "pT-lOE1on3M"
},
{
"name": "Length of Longest Subarray With at Most K Frequency",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "2958-length-of-longest-subarray-with-at-most-k-frequency",
"link": "length-of-longest-subarray-with-at-most-k-frequency/",
"video": "W_KYZGp2QzU"
},
{
"name": "Count Subarrays Where Max Element Appears at Least K Times",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "2962-count-subarrays-where-max-element-appears-at-least-k-times",
"link": "count-subarrays-where-max-element-appears-at-least-k-times/",
"video": "CZ-z1ViskzE"
},
{
"name": "Maximum Beauty of an Array After Applying Operation",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "2779-maximum-beauty-of-an-array-after-applying-operation",
"link": "maximum-beauty-of-an-array-after-applying-operation/",
"video": "x29QnzSBFVI"
},
{
"name": "Take K of Each Character From Left and Right",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "2516-take-k-of-each-character-from-left-and-right",
"link": "take-k-of-each-character-from-left-and-right/",
"video": "QzcxeJZByNM"
},
{
"name": "Count of Substrings Containing Every Vowel and K Consonants II",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "3306-count-of-substrings-containing-every-vowel-and-k-consonants-ii",
"link": "count-of-substrings-containing-every-vowel-and-k-consonants-ii/",
"video": "2wANakxRZNo",
"neetcode150": true,
"blind75": true
},
{
"name": "Minimum Window Substring",
"pattern": "Sliding Window",
"difficulty": "Hard",
"code": "0076-minimum-window-substring",
"link": "minimum-window-substring/",
"video": "jSto0O4AJbM",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Sliding Window Maximum",
"pattern": "Sliding Window",
"difficulty": "Hard",
"code": "0239-sliding-window-maximum",
"link": "sliding-window-maximum/",
"video": "DfljaUwZsOk",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Subarrays with K Different Integers",
"pattern": "Sliding Window",
"difficulty": "Hard",
"code": "0992-subarrays-with-k-different-integers",
"link": "subarrays-with-k-different-integers/",
"video": "etI6HqWVa8U",
"neetcode250": true
},
{
"name": "Minimum Number of Operations to Make Array Continuous",
"pattern": "Sliding Window",
"difficulty": "Hard",
"code": "2009-minimum-number-of-operations-to-make-array-continuous",
"link": "minimum-number-of-operations-to-make-array-continuous/",
"video": "Dd-yJylrcOY"
},
{
"name": "Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit",
"pattern": "Sliding Window",
"difficulty": "Medium",
"code": "1438-longest-continuous-subarray-with-absolute-diff-less-than-or-equal-to-limit",
"link": "longest-continuous-subarray-with-absolute-diff-less-than-or-equal-to-limit/",
"video": "V-ecDfY5xEw"
},
{
"name": "Smallest Range Covering Elements from K Lists",
"pattern": "Sliding Window",
"difficulty": "Hard",
"code": "0632-smallest-range-covering-elements-from-k-lists",
"link": "smallest-range-covering-elements-from-k-lists/",
"video": "L_0aPFMgGpU"
}
],
"Stack": [
{
"name": "Crawler Log Folder",
"pattern": "Stack",
"difficulty": "Easy",
"code": "1598-crawler-log-folder",
"link": "crawler-log-folder/",
"video": "Ur3saIXP7ro",
"neetcode250": true
},
{
"name": "Baseball Game",
"pattern": "Stack",
"difficulty": "Easy",
"code": "0682-baseball-game",
"link": "baseball-game/",
"video": "Id_tqGdsZQI",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Valid Parentheses",
"pattern": "Stack",
"difficulty": "Easy",
"code": "0020-valid-parentheses",
"link": "valid-parentheses/",
"video": "WTzjTskDFMg",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Implement Stack Using Queues",
"pattern": "Stack",
"difficulty": "Easy",
"code": "0225-implement-stack-using-queues",
"link": "implement-stack-using-queues/",
"video": "rW4vm0-DLYc",
"neetcode250": true
},
{
"name": "Implement Queue using Stacks",
"pattern": "Stack",
"difficulty": "Easy",
"code": "0232-implement-queue-using-stacks",
"link": "implement-queue-using-stacks/",
"video": "eanwa3ht3YQ",
"neetcode250": true
},
{
"name": "Final Prices With a Special Discount in a Shop",
"pattern": "Stack",
"difficulty": "Easy",
"code": "1475-final-prices-with-a-special-discount-in-a-shop",
"link": "final-prices-with-a-special-discount-in-a-shop/",
"video": "BYushAxaQOg"
},
{
"name": "Make The String Great",
"pattern": "Stack",
"difficulty": "Easy",
"code": "1544-make-the-string-great",
"link": "make-the-string-great/",
"video": "10tBWNjzvtw",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Min Stack",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0155-min-stack",
"link": "min-stack/",
"video": "qkLl7nAwDPo",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Evaluate Reverse Polish Notation",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0150-evaluate-reverse-polish-notation",
"link": "evaluate-reverse-polish-notation/",
"video": "iu0082c4HDE",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Removing Stars From a String",
"pattern": "Stack",
"difficulty": "Medium",
"code": "2390-removing-stars-from-a-string",
"link": "removing-stars-from-a-string/",
"video": "pRyFZIaKegA"
},
{
"name": "Validate Stack Sequences",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0946-validate-stack-sequences",
"link": "validate-stack-sequences/",
"video": "mzua0r94kb8",
"neetcode250": true
},
{
"name": "Asteroid Collision",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0735-asteroid-collision",
"link": "asteroid-collision/",
"video": "LN7KjRszjk4",
"neetcode250": true
},
{
"name": "Daily Temperatures",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0739-daily-temperatures",
"link": "daily-temperatures/",
"video": "cTBiBSnjO3c",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Online Stock Span",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0901-online-stock-span",
"link": "online-stock-span/",
"video": "slYh0ZNEqSw",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Car Fleet",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0853-car-fleet",
"link": "car-fleet/",
"video": "Pr6T-3yB9RM",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Simplify Path",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0071-simplify-path",
"link": "simplify-path/",
"video": "qYlHrAKJfyA",
"neetcode250": true
},
{
"name": "Decode String",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0394-decode-string",
"link": "decode-string/",
"video": "qB0zZpBJlh8",
"neetcode250": true
},
{
"name": "Remove K Digits",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0402-remove-k-digits",
"link": "remove-k-digits/",
"video": "cFabMOnJaq0",
"neetcode250": true
},
{
"name": "Remove All Adjacent Duplicates In String II",
"pattern": "Stack",
"difficulty": "Medium",
"code": "1209-remove-all-adjacent-duplicates-in-string-ii",
"link": "remove-all-adjacent-duplicates-in-string-ii/",
"video": "w6LcypDgC4w"
},
{
"name": "Reverse Substrings Between Each Pair of Parentheses",
"pattern": "Stack",
"difficulty": "Medium",
"code": "1190-reverse-substrings-between-each-pair-of-parentheses",
"link": "reverse-substrings-between-each-pair-of-parentheses/",
"video": "n_pCJmg-RyU"
},
{
"name": "Ternary Expression Parser",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0439-ternary-expression-parser",
"link": "ternary-expression-parser/"
},
{
"name": "Find Permutation",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0484-find-permutation",
"link": "find-permutation/"
},
{
"name": "Basic Calculator III",
"pattern": "Stack",
"difficulty": "Hard",
"code": "0772-basic-calculator-iii",
"link": "basic-calculator-iii/"
},
{
"name": "Max Stack",
"pattern": "Stack",
"difficulty": "Hard",
"code": "0716-max-stack",
"link": "max-stack/"
},
{
"name": "Minimum String Length After Removing Substrings",
"pattern": "Stack",
"difficulty": "Easy",
"code": "2696-minimum-string-length-after-removing-substrings",
"link": "minimum-string-length-after-removing-substrings/",
"video": "yBdULgU_EvY"
},
{
"name": "Clear Digits",
"pattern": "Stack",
"difficulty": "Easy",
"code": "3174-clear-digits",
"link": "clear-digits/",
"video": "f_u_9ixrktQ"
},
{
"name": "Minimum Add to Make Parentheses Valid",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0921-minimum-add-to-make-parentheses-valid",
"link": "minimum-add-to-make-parentheses-valid/",
"video": "UizI7R6ND9Q"
},
{
"name": "Maximum Width Ramp",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0962-maximum-width-ramp",
"link": "maximum-width-ramp/",
"video": "3pTEJ1vzgSI"
},
{
"name": "Basic Calculator II",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0227-basic-calculator-ii",
"link": "basic-calculator-ii/"
},
{
"name": "132 Pattern",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0456-132-pattern",
"link": "132-pattern/",
"video": "q5ANAl8Z458"
},
{
"name": "Flatten Nested List Iterator",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0341-flatten-nested-list-iterator",
"link": "flatten-nested-list-iterator/",
"video": "4ILiBgLokM8"
},
{
"name": "Sum of Subarray Minimums",
"pattern": "Stack",
"difficulty": "Medium",
"code": "0907-sum-of-subarray-minimums",
"link": "sum-of-subarray-minimums/",
"video": "aX1F2-DrBkQ",
"neetcode250": true
},
{
"name": "Maximum Frequency Stack",
"pattern": "Stack",
"difficulty": "Hard",
"code": "0895-maximum-frequency-stack",
"link": "maximum-frequency-stack/",
"video": "Z6idIicFDOE",
"neetcode250": true
},
{
"name": "Robot Collisions",
"pattern": "Stack",
"difficulty": "Hard",
"code": "2751-robot-collisions",
"link": "robot-collisions/",
"video": "FMV5Pp0tdXY",
"neetcode250": true
},
{
"name": "Number of Visible People in a Queue",
"pattern": "Stack",
"difficulty": "Hard",
"code": "1944-number-of-visible-people-in-a-queue",
"link": "number-of-visible-people-in-a-queue/"
},
{
"name": "Largest Rectangle In Histogram",
"pattern": "Stack",
"difficulty": "Hard",
"code": "0084-largest-rectangle-in-histogram",
"link": "largest-rectangle-in-histogram/",
"video": "zx5Sw9130L0",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Shortest Subarray with Sum at Least K",
"pattern": "Stack",
"difficulty": "Hard",
"code": "0862-shortest-subarray-with-sum-at-least-k",
"link": "shortest-subarray-with-sum-at-least-k/",
"video": "5AY70aAHZiQ"
},
{
"name": "Parsing A Boolean Expression",
"pattern": "Stack",
"difficulty": "Hard",
"code": "1106-parsing-a-boolean-expression",
"link": "parsing-a-boolean-expression/",
"video": "q2L6yHIIbs8"
},
{
"name": "Number of Atoms",
"pattern": "Stack",
"difficulty": "Hard",
"code": "0726-number-of-atoms",
"link": "number-of-atoms/",
"video": "iuK05gGBzJc",
"neetcode150": true,
"neetcode250": true
}
],
"Binary Search": [
{
"name": "Binary Search",
"pattern": "Binary Search",
"difficulty": "Easy",
"code": "0704-binary-search",
"link": "binary-search/",
"video": "s4DPM8ct1pI",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Search Insert Position",
"pattern": "Binary Search",
"difficulty": "Easy",
"code": "0035-search-insert-position",
"link": "search-insert-position/",
"video": "K-RYzDZkzCI",
"neetcode250": true
},
{
"name": "Guess Number Higher Or Lower",
"pattern": "Binary Search",
"difficulty": "Easy",
"code": "0374-guess-number-higher-or-lower",
"link": "guess-number-higher-or-lower/",
"video": "xW4QsTtaCa4",
"neetcode250": true
},
{
"name": "Arranging Coins",
"pattern": "Binary Search",
"difficulty": "Easy",
"code": "0441-arranging-coins",
"link": "arranging-coins/",
"video": "5rHz_6s2Buw"
},
{
"name": "Valid Perfect Square",
"pattern": "Binary Search",
"difficulty": "Easy",
"code": "0367-valid-perfect-square",
"link": "valid-perfect-square/",
"video": "Cg_wWPHJ2Sk",
"neetcode250": true
},
{
"name": "Sqrt(x)",
"pattern": "Binary Search",
"difficulty": "Easy",
"code": "0069-sqrtx",
"link": "sqrtx/",
"video": "zdMhGxRWutQ",
"neetcode250": true
},
{
"name": "Missing Number In Arithmetic Progression",
"pattern": "Binary Search",
"difficulty": "Easy",
"code": "1228-missing-number-in-arithmetic-progression",
"link": "missing-number-in-arithmetic-progression/",
"neetcode250": true
},
{
"name": "Check If a Number Is Majority Element in a Sorted Array",
"pattern": "Binary Search",
"difficulty": "Easy",
"code": "1150-check-if-a-number-is-majority-element-in-a-sorted-array",
"link": "check-if-a-number-is-majority-element-in-a-sorted-array/"
},
{
"name": "Missing Element in Sorted Array",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "1060-missing-element-in-sorted-array",
"link": "missing-element-in-sorted-array/"
},
{
"name": "Find the Index of the Large Integer",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "1533-find-the-index-of-the-large-integer",
"link": "find-the-index-of-the-large-integer/"
},
{
"name": "Divide Chocolate",
"pattern": "Binary Search",
"difficulty": "Hard",
"code": "1231-divide-chocolate",
"link": "divide-chocolate/"
},
{
"name": "Maximum Average Subarray II",
"pattern": "Binary Search",
"difficulty": "Hard",
"code": "0644-maximum-average-subarray-ii",
"link": "maximum-average-subarray-ii/"
},
{
"name": "Single Element in a Sorted Array",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "0540-single-element-in-a-sorted-array",
"link": "single-element-in-a-sorted-array/",
"video": "HGtqdzyUJ3k"
},
{
"name": "Find Peak Element",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "0162-find-peak-element",
"link": "find-peak-element/",
"video": "kMzJy9es7Hc"
},
{
"name": "Successful Pairs of Spells and Potions",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "2300-successful-pairs-of-spells-and-potions",
"link": "successful-pairs-of-spells-and-potions/",
"video": "OKnm5oyAhWg",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Search a 2D Matrix",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "0074-search-a-2d-matrix",
"link": "search-a-2d-matrix/",
"video": "Ber2pi2C0j0",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Koko Eating Bananas",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "0875-koko-eating-bananas",
"link": "koko-eating-bananas/",
"video": "U2SozAs9RzA",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Capacity to Ship Packages Within D Days",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "1011-capacity-to-ship-packages-within-d-days",
"link": "capacity-to-ship-packages-within-d-days/",
"video": "ER_oLmdc-nw",
"neetcode250": true
},
{
"name": "Maximum Candies Allocated to K Children",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "2226-maximum-candies-allocated-to-k-children",
"link": "maximum-candies-allocated-to-k-children/",
"video": "jpKfrXetb9Q"
},
{
"name": "House Robber IV",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "2560-house-robber-iv",
"link": "house-robber-iv/",
"video": "OHZqAc6h3Us"
},
{
"name": "Minimize the Maximum Difference of Pairs",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "2616-minimize-the-maximum-difference-of-pairs",
"link": "minimize-the-maximum-difference-of-pairs/",
"video": "lf1Pxg7IrzQ"
},
{
"name": "Minimized Maximum of Products Distributed to Any Store",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "2064-minimized-maximum-of-products-distributed-to-any-store",
"link": "minimized-maximum-of-products-distributed-to-any-store/",
"video": "GKSSr2xkR8A"
},
{
"name": "Minimum Limit of Balls in a Bag",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "1760-minimum-limit-of-balls-in-a-bag",
"link": "minimum-limit-of-balls-in-a-bag/",
"video": "MQlC8EoOdZ0"
},
{
"name": "Minimum Time to Repair Cars",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "2594-minimum-time-to-repair-cars",
"link": "minimum-time-to-repair-cars/",
"video": "RHct_Pz9EBo"
},
{
"name": "Find Minimum In Rotated Sorted Array",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "0153-find-minimum-in-rotated-sorted-array",
"link": "find-minimum-in-rotated-sorted-array/",
"video": "nIVW4P8b1VA",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Search In Rotated Sorted Array",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "0033-search-in-rotated-sorted-array",
"link": "search-in-rotated-sorted-array/",
"video": "U8XENwh8Oy8",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Search In Rotated Sorted Array II",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "0081-search-in-rotated-sorted-array-ii",
"link": "search-in-rotated-sorted-array-ii/",
"video": "oUnF7o88_Xc",
"neetcode250": true
},
{
"name": "Time Based Key Value Store",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "0981-time-based-key-value-store",
"link": "time-based-key-value-store/",
"video": "fu2cD_6E8Hw",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Find First And Last Position of Element In Sorted Array",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "0034-find-first-and-last-position-of-element-in-sorted-array",
"link": "find-first-and-last-position-of-element-in-sorted-array/",
"video": "4sQL7R5ySUU"
},
{
"name": "Maximum Number of Removable Characters",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "1898-maximum-number-of-removable-characters",
"link": "maximum-number-of-removable-characters/",
"video": "NMP3nRPyX5g"
},
{
"name": "Most Beautiful Item for Each Query",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "2070-most-beautiful-item-for-each-query",
"link": "most-beautiful-item-for-each-query/",
"video": "kybir7n8JJg"
},
{
"name": "Random Pick with Weight",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "0528-random-pick-with-weight",
"link": "random-pick-with-weight/"
},
{
"name": "Search Suggestions System",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "1268-search-suggestions-system",
"link": "search-suggestions-system/",
"video": "D4T2N0yAr20"
},
{
"name": "Count the Number of Fair Pairs",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "2563-count-the-number-of-fair-pairs",
"link": "count-the-number-of-fair-pairs/",
"video": "TjthKf7Mc_8"
},
{
"name": "Binary Searchable Numbers in an Unsorted Array",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "1966-binary-searchable-numbers-in-an-unsorted-array",
"link": "binary-searchable-numbers-in-an-unsorted-array/"
},
{
"name": "Leftmost Column With at Least a One",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "1428-leftmost-column-with-at-least-a-one",
"link": "leftmost-column-with-at-least-a-one/"
},
{
"name": "Cutting Ribbons",
"pattern": "Binary Search",
"difficulty": "Medium",
"code": "1891-cutting-ribbons",
"link": "cutting-ribbons/"
},
{
"name": "Split Array Largest Sum",
"pattern": "Binary Search",
"difficulty": "Hard",
"code": "0410-split-array-largest-sum",
"link": "split-array-largest-sum/",
"video": "YUF3_eBdzsk",
"neetcode250": true
},
{
"name": "Find K-th Smallest Pair Distance",
"pattern": "Binary Search",
"difficulty": "Hard",
"code": "0719-find-k-th-smallest-pair-distance",
"link": "find-k-th-smallest-pair-distance/",
"video": "bQ-QcFKwsZc",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Median of Two Sorted Arrays",
"pattern": "Binary Search",
"difficulty": "Hard",
"code": "0004-median-of-two-sorted-arrays",
"link": "median-of-two-sorted-arrays/",
"video": "q6IEA26hvXc",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Find in Mountain Array",
"pattern": "Binary Search",
"difficulty": "Hard",
"code": "1095-find-in-mountain-array",
"link": "find-in-mountain-array/",
"video": "BGgYC-YkGvc",
"neetcode250": true
},
{
"name": "Kth Smallest Product of Two Sorted Arrays",
"pattern": "Binary Search",
"difficulty": "Hard",
"code": "2040-kth-smallest-product-of-two-sorted-arrays",
"link": "kth-smallest-product-of-two-sorted-arrays/",
"neetcode250": true
},
{
"name": "Minimize Max Distance to Gas Station",
"pattern": "Binary Search",
"difficulty": "Hard",
"code": "0774-minimize-max-distance-to-gas-station",
"link": "minimize-max-distance-to-gas-station/"
}
],
"Linked List": [
{
"name": "Reverse Linked List",
"pattern": "Linked List",
"difficulty": "Easy",
"code": "0206-reverse-linked-list",
"link": "reverse-linked-list/",
"video": "G0_I-ZF0S38",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Merge Two Sorted Lists",
"pattern": "Linked List",
"difficulty": "Easy",
"code": "0021-merge-two-sorted-lists",
"link": "merge-two-sorted-lists/",
"video": "XIdigk956u0",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Linked List Cycle",
"pattern": "Linked List",
"difficulty": "Easy",
"code": "0141-linked-list-cycle",
"link": "linked-list-cycle/",
"video": "gBTe7lFR3vc",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Palindrome Linked List",
"pattern": "Linked List",
"difficulty": "Easy",
"code": "0234-palindrome-linked-list",
"link": "palindrome-linked-list/",
"video": "yOzXms1J6Nk"
},
{
"name": "Remove Linked List Elements",
"pattern": "Linked List",
"difficulty": "Easy",
"code": "0203-remove-linked-list-elements",
"link": "remove-linked-list-elements/",
"video": "JI71sxtHTng"
},
{
"name": "Remove Duplicates From Sorted List",
"pattern": "Linked List",
"difficulty": "Easy",
"code": "0083-remove-duplicates-from-sorted-list",
"link": "remove-duplicates-from-sorted-list/",
"video": "p10f-VpO4nE"
},
{
"name": "Middle of the Linked List",
"pattern": "Linked List",
"difficulty": "Easy",
"code": "0876-middle-of-the-linked-list",
"link": "middle-of-the-linked-list/",
"video": "A2_ldqM4QcY"
},
{
"name": "Intersection of Two Linked Lists",
"pattern": "Linked List",
"difficulty": "Easy",
"code": "0160-intersection-of-two-linked-lists",
"link": "intersection-of-two-linked-lists/",
"video": "D0X0BONOQhI"
},
{
"name": "Delete N Nodes After M Nodes of a Linked List",
"pattern": "Linked List",
"difficulty": "Easy",
"code": "1474-delete-n-nodes-after-m-nodes-of-a-linked-list",
"link": "delete-n-nodes-after-m-nodes-of-a-linked-list/"
},
{
"name": "Insert into a Sorted Circular Linked List",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0708-insert-into-a-sorted-circular-linked-list",
"link": "insert-into-a-sorted-circular-linked-list/"
},
{
"name": "Plus One Linked List",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0369-plus-one-linked-list",
"link": "plus-one-linked-list/"
},
{
"name": "Print Immutable Linked List in Reverse",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "1265-print-immutable-linked-list-in-reverse",
"link": "print-immutable-linked-list-in-reverse/"
},
{
"name": "Merge in Between Linked Lists",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "1669-merge-in-between-linked-lists",
"link": "merge-in-between-linked-lists/",
"video": "pI775VutBxg"
},
{
"name": "Merge Nodes in Between Zeros",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "2181-merge-nodes-in-between-zeros",
"link": "merge-nodes-in-between-zeros/",
"video": "jrSav7fulJY"
},
{
"name": "Find the Minimum and Maximum Number of Nodes Between Critical Points",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "2058-find-the-minimum-and-maximum-number-of-nodes-between-critical-points",
"link": "find-the-minimum-and-maximum-number-of-nodes-between-critical-points/",
"video": "UddDgt52h9g"
},
{
"name": "Remove Nodes From Linked List",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "2487-remove-nodes-from-linked-list",
"link": "remove-nodes-from-linked-list/",
"video": "y783sRTezDg",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Reorder List",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0143-reorder-list",
"link": "reorder-list/",
"video": "S5bfdUTrKLM",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Maximum Twin Sum Of A Linked List",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "2130-maximum-twin-sum-of-a-linked-list",
"link": "maximum-twin-sum-of-a-linked-list/",
"video": "doj95MelfSA",
"neetcode250": true
},
{
"name": "Remove Nth Node From End of List",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0019-remove-nth-node-from-end-of-list",
"link": "remove-nth-node-from-end-of-list/",
"video": "XVuQxVej6y8",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Delete Nodes From Linked List Present in Array",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "3217-delete-nodes-from-linked-list-present-in-array",
"link": "delete-nodes-from-linked-list-present-in-array/",
"video": "3xZuqYD3EYA"
},
{
"name": "Swapping Nodes in a Linked List",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "1721-swapping-nodes-in-a-linked-list",
"link": "swapping-nodes-in-a-linked-list/",
"video": "4LsrgMyQIjQ",
"neetcode150": true
},
{
"name": "Copy List With Random Pointer",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0138-copy-list-with-random-pointer",
"link": "copy-list-with-random-pointer/",
"video": "5Y2EiZST97Y",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Design Linked List",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0707-design-linked-list",
"link": "design-linked-list/",
"video": "Wf4QhpdVFQo"
},
{
"name": "Design Browser History",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "1472-design-browser-history",
"link": "design-browser-history/",
"video": "i1G-kKnBu8k",
"neetcode150": true
},
{
"name": "Add Two Numbers",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0002-add-two-numbers",
"link": "add-two-numbers/",
"video": "wgFPrzTjm7s",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Add Two Numbers II",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0445-add-two-numbers-ii",
"link": "add-two-numbers-ii/",
"neetcode250": true
},
{
"name": "Find The Duplicate Number",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0287-find-the-duplicate-number",
"link": "find-the-duplicate-number/",
"video": "wjYnzkAhcNk",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Swap Nodes In Pairs",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0024-swap-nodes-in-pairs",
"link": "swap-nodes-in-pairs/",
"video": "o811TZLAWOo",
"neetcode250": true
},
{
"name": "Sort List",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0148-sort-list",
"link": "sort-list/",
"video": "TGveA1oFhrc"
},
{
"name": "Partition List",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0086-partition-list",
"link": "partition-list/",
"video": "KT1iUciJr4g"
},
{
"name": "Rotate List",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0061-rotate-list",
"link": "rotate-list/",
"video": "UcGtPs2LE_c",
"neetcode250": true
},
{
"name": "Reverse Linked List II",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0092-reverse-linked-list-ii",
"link": "reverse-linked-list-ii/",
"video": "RF_M9tX4Eag",
"neetcode250": true
},
{
"name": "Design Circular Queue",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0622-design-circular-queue",
"link": "design-circular-queue/",
"video": "aBbsfn863oA",
"neetcode250": true
},
{
"name": "Insertion Sort List",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0147-insertion-sort-list",
"link": "insertion-sort-list/",
"video": "Kk6mXAzqX3Y",
"neetcode250": true
},
{
"name": "Split Linked List in Parts",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0725-split-linked-list-in-parts",
"link": "split-linked-list-in-parts/",
"video": "-OTlqdrxrVI",
"neetcode150": true,
"neetcode250": true
},
{
"name": "LRU Cache",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "0146-lru-cache",
"link": "lru-cache/",
"video": "7ABFKPK2hD4",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Remove Duplicates From an Unsorted Linked List",
"pattern": "Linked List",
"difficulty": "Medium",
"code": "1836-remove-duplicates-from-an-unsorted-linked-list",
"link": "remove-duplicates-from-an-unsorted-linked-list/",
"neetcode250": true
},
{
"name": "LFU Cache",
"pattern": "Linked List",
"difficulty": "Hard",
"code": "0460-lfu-cache",
"link": "lfu-cache/",
"video": "bLEIHn-DgoA",
"neetcode250": true
},
{
"name": "Merge K Sorted Lists",
"pattern": "Linked List",
"difficulty": "Hard",
"code": "0023-merge-k-sorted-lists",
"link": "merge-k-sorted-lists/",
"video": "q5a5OiGbT6Q",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Reverse Nodes In K Group",
"pattern": "Linked List",
"difficulty": "Hard",
"code": "0025-reverse-nodes-in-k-group",
"link": "reverse-nodes-in-k-group/",
"video": "1UOPsfP85V4",
"neetcode150": true,
"neetcode250": true
}
],
"Trees": [
{
"name": "Binary Tree Inorder Traversal",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0094-binary-tree-inorder-traversal",
"link": "binary-tree-inorder-traversal/",
"video": "g_S5WuasWUE",
"neetcode250": true
},
{
"name": "Binary Tree Preorder Traversal",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0144-binary-tree-preorder-traversal",
"link": "binary-tree-preorder-traversal/",
"video": "afTpieEZXck",
"neetcode250": true
},
{
"name": "Binary Tree Postorder Traversal",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0145-binary-tree-postorder-traversal",
"link": "binary-tree-postorder-traversal/",
"video": "QhszUQhGGlA",
"neetcode250": true
},
{
"name": "N-ary Tree Postorder Traversal",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0590-n-ary-tree-postorder-traversal",
"link": "n-ary-tree-postorder-traversal/",
"video": "GMUI91_pDmM",
"neetcode150": true
},
{
"name": "Invert Binary Tree",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0226-invert-binary-tree",
"link": "invert-binary-tree/",
"video": "OnSn2XEQ4MY",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Maximum Depth of Binary Tree",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0104-maximum-depth-of-binary-tree",
"link": "maximum-depth-of-binary-tree/",
"video": "hTM3phVI6YQ",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Diameter of Binary Tree",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0543-diameter-of-binary-tree",
"link": "diameter-of-binary-tree/",
"video": "K81C31ytOZE",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Balanced Binary Tree",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0110-balanced-binary-tree",
"link": "balanced-binary-tree/",
"video": "QfJsau0ItOY",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Same Tree",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0100-same-tree",
"link": "same-tree/",
"video": "vRbbcKXCxOw",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Subtree of Another Tree",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0572-subtree-of-another-tree",
"link": "subtree-of-another-tree/",
"video": "E36O5SWp-LE",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Convert Sorted Array to Binary Search Tree",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0108-convert-sorted-array-to-binary-search-tree",
"link": "convert-sorted-array-to-binary-search-tree/",
"video": "0K0uCMYq5ng"
},
{
"name": "Merge Two Binary Trees",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0617-merge-two-binary-trees",
"link": "merge-two-binary-trees/",
"video": "QHH6rIK3dDQ"
},
{
"name": "Path Sum",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0112-path-sum",
"link": "path-sum/",
"video": "LSKQyOz_P8I"
},
{
"name": "Range Sum of BST",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0938-range-sum-of-bst",
"link": "range-sum-of-bst/",
"video": "uLVG45n4Sbg"
},
{
"name": "Leaf-Similar Trees",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0872-leaf-similar-trees",
"link": "leaf-similar-trees/",
"video": "Nr8dbnL0_cM"
},
{
"name": "Evaluate Boolean Binary Tree",
"pattern": "Trees",
"difficulty": "Easy",
"code": "2331-evaluate-boolean-binary-tree",
"link": "evaluate-boolean-binary-tree/",
"video": "9a_cP54jn8Q"
},
{
"name": "Closest Binary Search Tree Value",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0270-closest-binary-search-tree-value",
"link": "closest-binary-search-tree-value/"
},
{
"name": "Binary Tree Vertical Order Traversal",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0314-binary-tree-vertical-order-traversal",
"link": "binary-tree-vertical-order-traversal/",
"video": "-JFngYs21Y8"
},
{
"name": "Binary Tree Longest Consecutive Sequence",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0298-binary-tree-longest-consecutive-sequence",
"link": "binary-tree-longest-consecutive-sequence/"
},
{
"name": "Binary Tree Longest Consecutive Sequence II",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0549-binary-tree-longest-consecutive-sequence-ii",
"link": "binary-tree-longest-consecutive-sequence-ii/"
},
{
"name": "Count Univalue Subtrees",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0250-count-univalue-subtrees",
"link": "count-univalue-subtrees/"
},
{
"name": "Maximum Average Subtree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1120-maximum-average-subtree",
"link": "maximum-average-subtree/"
},
{
"name": "Boundary of Binary Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0545-boundary-of-binary-tree",
"link": "boundary-of-binary-tree/"
},
{
"name": "Find Leaves of Binary Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0366-find-leaves-of-binary-tree",
"link": "find-leaves-of-binary-tree/"
},
{
"name": "Verify Preorder Sequence in Binary Search Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0255-verify-preorder-sequence-in-binary-search-tree",
"link": "verify-preorder-sequence-in-binary-search-tree/"
},
{
"name": "Two Sum BSTs",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1214-two-sum-bsts",
"link": "two-sum-bsts/"
},
{
"name": "Largest BST Subtree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0333-largest-bst-subtree",
"link": "largest-bst-subtree/"
},
{
"name": "Clone N-ary Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1490-clone-n-ary-tree",
"link": "clone-n-ary-tree/"
},
{
"name": "Find Root of N-Ary Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1506-find-root-of-n-ary-tree",
"link": "find-root-of-n-ary-tree/"
},
{
"name": "Diameter of N-Ary Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1522-diameter-of-n-ary-tree",
"link": "diameter-of-n-ary-tree/"
},
{
"name": "Nested List Weight Sum II",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0364-nested-list-weight-sum-ii",
"link": "nested-list-weight-sum-ii/"
},
{
"name": "Closest Binary Search Tree Value II",
"pattern": "Trees",
"difficulty": "Hard",
"code": "0272-closest-binary-search-tree-value-ii",
"link": "closest-binary-search-tree-value-ii/"
},
{
"name": "Serialize and Deserialize N-ary Tree",
"pattern": "Trees",
"difficulty": "Hard",
"code": "0428-serialize-and-deserialize-n-ary-tree",
"link": "serialize-and-deserialize-n-ary-tree/"
},
{
"name": "Encode N-ary Tree to Binary Tree",
"pattern": "Trees",
"difficulty": "Hard",
"code": "0431-encode-n-ary-tree-to-binary-tree",
"link": "encode-n-ary-tree-to-binary-tree/"
},
{
"name": "Create Binary Tree From Descriptions",
"pattern": "Trees",
"difficulty": "Medium",
"code": "2196-create-binary-tree-from-descriptions",
"link": "create-binary-tree-from-descriptions/",
"video": "yWkrFfqO7NA"
},
{
"name": "Populating Next Right Pointers In Each Node",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0116-populating-next-right-pointers-in-each-node",
"link": "populating-next-right-pointers-in-each-node/",
"video": "U4hFQCa1Cq0"
},
{
"name": "Construct String From Binary Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0606-construct-string-from-binary-tree",
"link": "construct-string-from-binary-tree/",
"video": "b1WpYxnuebQ"
},
{
"name": "Lowest Common Ancestor of a Binary Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0236-lowest-common-ancestor-of-a-binary-tree",
"link": "lowest-common-ancestor-of-a-binary-tree/"
},
{
"name": "Lowest Common Ancestor of a Binary Tree III",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1650-lowest-common-ancestor-of-a-binary-tree-iii",
"link": "lowest-common-ancestor-of-a-binary-tree-iii/"
},
{
"name": "Lowest Common Ancestor of a Binary Search Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0235-lowest-common-ancestor-of-a-binary-search-tree",
"link": "lowest-common-ancestor-of-a-binary-search-tree/",
"video": "gs2LMfuOR9k",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Insert into a Binary Search Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0701-insert-into-a-binary-search-tree",
"link": "insert-into-a-binary-search-tree/",
"video": "Cpg8f79luEA",
"neetcode250": true
},
{
"name": "Delete Node in a BST",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0450-delete-node-in-a-bst",
"link": "delete-node-in-a-bst/",
"video": "LFzAoJJt92M",
"neetcode250": true
},
{
"name": "Binary Tree Level Order Traversal",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0102-binary-tree-level-order-traversal",
"link": "binary-tree-level-order-traversal/",
"video": "6ZnyEApgFYg",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Binary Tree Right Side View",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0199-binary-tree-right-side-view",
"link": "binary-tree-right-side-view/",
"video": "d4zLyf32e3I",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Reverse Odd Levels of Binary Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "2415-reverse-odd-levels-of-binary-tree",
"link": "reverse-odd-levels-of-binary-tree/",
"video": "3x3JoCb8-tU"
},
{
"name": "Minimum Number of Operations to Sort a Binary Tree by Level",
"pattern": "Trees",
"difficulty": "Medium",
"code": "2471-minimum-number-of-operations-to-sort-a-binary-tree-by-level",
"link": "minimum-number-of-operations-to-sort-a-binary-tree-by-level/",
"video": "6mONZ_54rZg"
},
{
"name": "Kth Largest Sum in a Binary Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "2583-kth-largest-sum-in-a-binary-tree",
"link": "kth-largest-sum-in-a-binary-tree/",
"video": "Sh-IqBIg9dU"
},
{
"name": "Cousins in Binary Tree II",
"pattern": "Trees",
"difficulty": "Medium",
"code": "2641-cousins-in-binary-tree-ii",
"link": "cousins-in-binary-tree-ii/",
"video": "xvwTd19SncE"
},
{
"name": "Minimum Distance between BST Nodes",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0783-minimum-distance-between-bst-nodes",
"link": "minimum-distance-between-bst-nodes/",
"video": "joxx4hTYwcw"
},
{
"name": "Symmetric Tree",
"pattern": "Trees",
"difficulty": "Easy",
"code": "0101-symmetric-tree",
"link": "symmetric-tree/",
"video": "Mao9uzxwvmc"
},
{
"name": "Linked List in Binary Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1367-linked-list-in-binary-tree",
"link": "linked-list-in-binary-tree/",
"video": "OaA9MgG00AE"
},
{
"name": "Minimum Time to Collect All Apples in a Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1443-minimum-time-to-collect-all-apples-in-a-tree",
"link": "minimum-time-to-collect-all-apples-in-a-tree/",
"video": "Xdt5Z583auM"
},
{
"name": "Binary Tree Zigzag Level Order Traversal",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0103-binary-tree-zigzag-level-order-traversal",
"link": "binary-tree-zigzag-level-order-traversal/",
"video": "igbboQbiwqw"
},
{
"name": "Construct Quad Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0427-construct-quad-tree",
"link": "construct-quad-tree/",
"video": "UQ-1sBMV0v4",
"neetcode250": true
},
{
"name": "Find Duplicate Subtrees",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0652-find-duplicate-subtrees",
"link": "find-duplicate-subtrees/",
"video": "kn0Z5_qPPzY",
"neetcode250": true
},
{
"name": "Check Completeness of a Binary Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0958-check-completeness-of-a-binary-tree",
"link": "check-completeness-of-a-binary-tree/",
"video": "olbiZ-EOSig"
},
{
"name": "Construct Binary Tree from Inorder and Postorder Traversal",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0106-construct-binary-tree-from-inorder-and-postorder-traversal",
"link": "construct-binary-tree-from-inorder-and-postorder-traversal/",
"video": "vm63HuIU7kw"
},
{
"name": "Maximum Width of Binary Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0662-maximum-width-of-binary-tree",
"link": "maximum-width-of-binary-tree/",
"video": "FPzLE2L7uHs"
},
{
"name": "Time Needed to Inform All Employees",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1376-time-needed-to-inform-all-employees",
"link": "time-needed-to-inform-all-employees/",
"video": "zdBYi0p4L5Q",
"neetcode150": true
},
{
"name": "Count Good Nodes In Binary Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1448-count-good-nodes-in-binary-tree",
"link": "count-good-nodes-in-binary-tree/",
"video": "7cp5imvDzl4",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Validate Binary Search Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0098-validate-binary-search-tree",
"link": "validate-binary-search-tree/",
"video": "s6ATEkipzow",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Kth Smallest Element In a Bst",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0230-kth-smallest-element-in-a-bst",
"link": "kth-smallest-element-in-a-bst/",
"video": "5LUXSvjmGCw",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Recover Binary Search Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0099-recover-binary-search-tree",
"link": "recover-binary-search-tree/"
},
{
"name": "Construct Binary Tree From Preorder And Inorder Traversal",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0105-construct-binary-tree-from-preorder-and-inorder-traversal",
"link": "construct-binary-tree-from-preorder-and-inorder-traversal/",
"video": "ihj4IQGZ2zc",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Construct Binary Tree from Preorder and Postorder Traversal",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0889-construct-binary-tree-from-preorder-and-postorder-traversal",
"link": "construct-binary-tree-from-preorder-and-postorder-traversal/",
"video": "H1nBu3L-2gQ"
},
{
"name": "Unique Binary Search Trees",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0096-unique-binary-search-trees",
"link": "unique-binary-search-trees/",
"video": "Ox0TenN3Zpg"
},
{
"name": "Unique Binary Search Trees II",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0095-unique-binary-search-trees-ii",
"link": "unique-binary-search-trees-ii/",
"video": "m907FlQa2Yc"
},
{
"name": "Number of Good Leaf Nodes Pairs",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1530-number-of-good-leaf-nodes-pairs",
"link": "number-of-good-leaf-nodes-pairs/",
"video": "f_epkBeS1LQ"
},
{
"name": "Sum Root to Leaf Numbers",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0129-sum-root-to-leaf-numbers",
"link": "sum-root-to-leaf-numbers/",
"video": "Jk16lZGFWxE",
"neetcode250": true
},
{
"name": "House Robber III",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0337-house-robber-iii",
"link": "house-robber-iii/",
"video": "nHR8ytpzz7c",
"neetcode250": true
},
{
"name": "Flip Equivalent Binary Trees",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0951-flip-equivalent-binary-trees",
"link": "flip-equivalent-binary-trees/",
"video": "izRDc1il9Pk",
"neetcode250": true
},
{
"name": "Operations On Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1993-operations-on-tree",
"link": "operations-on-tree/",
"video": "qK4PtjrVD0U"
},
{
"name": "All Possible Full Binary Trees",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0894-all-possible-full-binary-trees",
"link": "all-possible-full-binary-trees/",
"video": "nZtrZPTTCAo"
},
{
"name": "Find Bottom Left Tree Value",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0513-find-bottom-left-tree-value",
"link": "find-bottom-left-tree-value/",
"video": "u_by_cTsNJA"
},
{
"name": "Trim a Binary Search Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0669-trim-a-binary-search-tree",
"link": "trim-a-binary-search-tree/",
"video": "jwt5mTjEXGc"
},
{
"name": "Binary Search Tree Iterator",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0173-binary-search-tree-iterator",
"link": "binary-search-tree-iterator/",
"video": "RXy5RzGF5wo"
},
{
"name": "Validate Binary Tree Nodes",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1361-validate-binary-tree-nodes",
"link": "validate-binary-tree-nodes/",
"video": "Mw67DTgUEqk"
},
{
"name": "Find Largest Value in Tree Row",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0515-find-largest-value-in-each-tree-row",
"link": "find-largest-value-in-each-tree-row/",
"video": "wB9JOh7Z_cY"
},
{
"name": "Pseudo-Palindromic Paths in a Binary Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1457-pseudo-palindromic-paths-in-a-binary-tree",
"link": "pseudo-palindromic-paths-in-a-binary-tree/",
"video": "MBsSpQnaFzg"
},
{
"name": "Even Odd Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1609-even-odd-tree",
"link": "even-odd-tree/",
"video": "FkNWN1Fj_TY"
},
{
"name": "Smallest String Starting From Leaf",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0988-smallest-string-starting-from-leaf",
"link": "smallest-string-starting-from-leaf/",
"video": "UvdWfxQ_ZDs"
},
{
"name": "Delete Leaves With a Given Value",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1325-delete-leaves-with-a-given-value",
"link": "delete-leaves-with-a-given-value/",
"video": "FqAoYAwbwV8",
"neetcode250": true
},
{
"name": "Delete Nodes And Return Forest",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1110-delete-nodes-and-return-forest",
"link": "delete-nodes-and-return-forest/",
"video": "UhKu0q1yXHY"
},
{
"name": "Distribute Coins in Binary Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0979-distribute-coins-in-binary-tree",
"link": "distribute-coins-in-binary-tree/",
"video": "YfdfIOeV_RU"
},
{
"name": "Convert Bst to Greater Tree",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0538-convert-bst-to-greater-tree",
"link": "convert-bst-to-greater-tree/",
"video": "7vVEJwVvAlI"
},
{
"name": "Step-By-Step Directions From a Binary Tree Node to Another",
"pattern": "Trees",
"difficulty": "Medium",
"code": "2096-step-by-step-directions-from-a-binary-tree-node-to-another",
"link": "step-by-step-directions-from-a-binary-tree-node-to-another/",
"video": "JegJNGcwtFg"
},
{
"name": "Inorder Successor in BST II",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0510-inorder-successor-in-bst-ii",
"link": "inorder-successor-in-bst-ii/"
},
{
"name": "Tree Diameter",
"pattern": "Trees",
"difficulty": "Medium",
"code": "1245-tree-diameter",
"link": "tree-diameter/"
},
{
"name": "Convert Binary Search Tree to Sorted Doubly Linked List",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0426-convert-binary-search-tree-to-sorted-doubly-linked-list",
"link": "convert-binary-search-tree-to-sorted-doubly-linked-list/"
},
{
"name": "Binary Tree Upside Down",
"pattern": "Trees",
"difficulty": "Medium",
"code": "0156-binary-tree-upside-down",
"link": "binary-tree-upside-down/"
},
{
"name": "Recover a Tree From Preorder Traversal",
"pattern": "Trees",
"difficulty": "Hard",
"code": "1028-recover-a-tree-from-preorder-traversal",
"link": "recover-a-tree-from-preorder-traversal/",
"video": "VroH6J47kIE",
"neetcode150": true,
"blind75": true
},
{
"name": "Binary Tree Maximum Path Sum",
"pattern": "Trees",
"difficulty": "Hard",
"code": "0124-binary-tree-maximum-path-sum",
"link": "binary-tree-maximum-path-sum/",
"video": "Hr5cWUld4vU",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Serialize And Deserialize Binary Tree",
"pattern": "Trees",
"difficulty": "Hard",
"code": "0297-serialize-and-deserialize-binary-tree",
"link": "serialize-and-deserialize-binary-tree/",
"video": "u4JAi2JJhI8",
"neetcode150": true,
"blind75": true,
"neetcode250": true
}
],
"Heap / Priority Queue": [
{
"name": "Kth Largest Element In a Stream",
"pattern": "Heap / Priority Queue",
"difficulty": "Easy",
"code": "0703-kth-largest-element-in-a-stream",
"link": "kth-largest-element-in-a-stream/",
"video": "hOjcdrqMoQ8",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Last Stone Weight",
"pattern": "Heap / Priority Queue",
"difficulty": "Easy",
"code": "1046-last-stone-weight",
"link": "last-stone-weight/",
"video": "B-QCq79-Vfw",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Take Gifts From the Richest Pile",
"pattern": "Heap / Priority Queue",
"difficulty": "Easy",
"code": "2558-take-gifts-from-the-richest-pile",
"link": "take-gifts-from-the-richest-pile/",
"video": "bHEQ4D_XcyY",
"neetcode250": true
},
{
"name": "Final Array State After K Multiplication Operations I",
"pattern": "Heap / Priority Queue",
"difficulty": "Easy",
"code": "3264-final-array-state-after-k-multiplication-operations-i",
"link": "final-array-state-after-k-multiplication-operations-i/",
"video": "AaoytRXBXGs"
},
{
"name": "High Five",
"pattern": "Heap / Priority Queue",
"difficulty": "Easy",
"code": "1086-high-five",
"link": "high-five/"
},
{
"name": "Minimum Cost to Connect Sticks",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "1167-minimum-cost-to-connect-sticks",
"link": "minimum-cost-to-connect-sticks/"
},
{
"name": "Campus Bikes",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "1057-campus-bikes",
"link": "campus-bikes/"
},
{
"name": "Rearrange String k Distance Apart",
"pattern": "Heap / Priority Queue",
"difficulty": "Hard",
"code": "0358-rearrange-string-k-distance-apart",
"link": "rearrange-string-k-distance-apart/"
},
{
"name": "K Closest Points to Origin",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "0973-k-closest-points-to-origin",
"link": "k-closest-points-to-origin/",
"video": "rI2EBUEMfTk",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Kth Largest Element In An Array",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "0215-kth-largest-element-in-an-array",
"link": "kth-largest-element-in-an-array/",
"video": "XEmy13g1Qxc",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Task Scheduler",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "0621-task-scheduler",
"link": "task-scheduler/",
"video": "s8p8ukTyA2I",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Design Twitter",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "0355-design-twitter",
"link": "design-twitter/",
"video": "pNichitDD2E",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Least Number of Unique Integers after K Removal",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "1481-least-number-of-unique-integers-after-k-removals",
"link": "least-number-of-unique-integers-after-k-removals/",
"video": "Nsp_ta7SlEk",
"neetcode250": true
},
{
"name": "Furthest Building You Can Reach",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "1642-furthest-building-you-can-reach",
"link": "furthest-building-you-can-reach/",
"video": "zyTeznvXCtg"
},
{
"name": "Minimize Deviation in Array",
"pattern": "Heap / Priority Queue",
"difficulty": "Hard",
"code": "1675-minimize-deviation-in-array",
"link": "minimize-deviation-in-array/",
"video": "boHNFptxo2A"
},
{
"name": "Maximum Subsequence Score",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "2542-maximum-subsequence-score",
"link": "maximum-subsequence-score/",
"video": "ax1DKi5lJwk",
"neetcode250": true
},
{
"name": "Single Threaded CPU",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "1834-single-threaded-cpu",
"link": "single-threaded-cpu/",
"video": "RR1n-d4oYqE",
"neetcode250": true
},
{
"name": "Seat Reservation Manager",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "1845-seat-reservation-manager",
"link": "seat-reservation-manager/",
"video": "ahobllKXEEY",
"neetcode250": true
},
{
"name": "Process Tasks Using Servers",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "1882-process-tasks-using-servers",
"link": "process-tasks-using-servers/",
"video": "XKA22PecuMQ"
},
{
"name": "Find The Kth Largest Integer In The Array",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "1985-find-the-kth-largest-integer-in-the-array",
"link": "find-the-kth-largest-integer-in-the-array/",
"video": "lRCaNiqO3xI",
"neetcode250": true
},
{
"name": "Reorganize String",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "0767-reorganize-string",
"link": "reorganize-string/",
"video": "2g_b1aYTHeg",
"neetcode250": true
},
{
"name": "Longest Happy String",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "1405-longest-happy-string",
"link": "longest-happy-string/",
"video": "8u-H6O_XQKE",
"neetcode250": true
},
{
"name": "Car Pooling",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "1094-car-pooling",
"link": "car-pooling/",
"video": "08sn_w4LWEE",
"neetcode250": true
},
{
"name": "Range Sum of Sorted Subarray Sums",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "1508-range-sum-of-sorted-subarray-sums",
"link": "range-sum-of-sorted-subarray-sums/",
"video": "7XTGlO6b16A",
"neetcode250": true
},
{
"name": "Maximum Transactions Without Negative Balance",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "3711-maximum-transactions-without-negative-balance",
"link": "maximum-transactions-without-negative-balance/"
},
{
"name": "Path With Maximum Minimum Value",
"pattern": "Heap / Priority Queue",
"difficulty": "Medium",
"code": "1102-path-with-maximum-minimum-value",
"link": "path-with-maximum-minimum-value/"
},
{
"name": "Find Median From Data Stream",
"pattern": "Heap / Priority Queue",
"difficulty": "Hard",
"code": "0295-find-median-from-data-stream",
"link": "find-median-from-data-stream/",
"video": "itmhHWaHupI",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Maximum Performance of a Team",
"pattern": "Heap / Priority Queue",
"difficulty": "Hard",
"code": "1383-maximum-performance-of-a-team",
"link": "maximum-performance-of-a-team/",
"video": "Y7UTvogADH0",
"neetcode250": true
},
{
"name": "IPO",
"pattern": "Heap / Priority Queue",
"difficulty": "Hard",
"code": "0502-ipo",
"link": "ipo/",
"video": "1IUzNJ6TPEM",
"neetcode250": true
},
{
"name": "Minimum Cost to Hire K Workers",
"pattern": "Heap / Priority Queue",
"difficulty": "Hard",
"code": "0857-minimum-cost-to-hire-k-workers",
"link": "minimum-cost-to-hire-k-workers/",
"video": "f879mUH6vJk",
"neetcode250": true
},
{
"name": "Number of Flowers in Full Bloom",
"pattern": "Heap / Priority Queue",
"difficulty": "Hard",
"code": "2251-number-of-flowers-in-full-bloom",
"link": "number-of-flowers-in-full-bloom/",
"video": "zY3Uty9IwvY"
},
{
"name": "Constrained Subsequence Sum",
"pattern": "Heap / Priority Queue",
"difficulty": "Hard",
"code": "1425-constrained-subsequence-sum",
"link": "constrained-subsequence-sum/",
"video": "-IYZv-nOSys"
},
{
"name": "Find Building Where Alice and Bob Can Meet",
"pattern": "Heap / Priority Queue",
"difficulty": "Hard",
"code": "2940-find-building-where-alice-and-bob-can-meet",
"link": "find-building-where-alice-and-bob-can-meet/",
"video": "HJaSuUOUH90",
"neetcode250": true
}
],
"Backtracking": [
{
"name": "Sum of All Subsets XOR Total",
"pattern": "Backtracking",
"difficulty": "Easy",
"code": "1863-sum-of-all-subset-xor-totals",
"link": "sum-of-all-subset-xor-totals/",
"video": "LI7YR-bwNYY",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Subsets",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0078-subsets",
"link": "subsets/",
"video": "REOH22Xwdkk",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Combination Sum",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0039-combination-sum",
"link": "combination-sum/",
"video": "GBKI9VSKdGg",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Combination Sum II",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0040-combination-sum-ii",
"link": "combination-sum-ii/",
"video": "FOyRpNUSFeA",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Combinations",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0077-combinations",
"link": "combinations/",
"video": "q0s6m7AiM7o",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Permutations",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0046-permutations",
"link": "permutations/",
"video": "FZe0UqISmUw",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Subsets II",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0090-subsets-ii",
"link": "subsets-ii/",
"video": "Vn2v6ajA7U0",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Permutations II",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0047-permutations-ii",
"link": "permutations-ii/",
"video": "qhBVWf0YafA",
"neetcode250": true
},
{
"name": "Generate Parentheses",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0022-generate-parentheses",
"link": "generate-parentheses/",
"video": "s9fokUqJ76A",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Letter Tile Possibilities",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "1079-letter-tile-possibilities",
"link": "letter-tile-possibilities/",
"video": "8FrJX-P_DnE",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Word Search",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0079-word-search",
"link": "word-search/",
"video": "pfiQ_PS1g8E",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Palindrome Partitioning",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0131-palindrome-partitioning",
"link": "palindrome-partitioning/",
"video": "3jvWodd7ht0",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Restore IP Addresses",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0093-restore-ip-addresses",
"link": "restore-ip-addresses/",
"video": "61tN4YEdiTM",
"neetcode250": true
},
{
"name": "Letter Combinations of a Phone Number",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0017-letter-combinations-of-a-phone-number",
"link": "letter-combinations-of-a-phone-number/",
"video": "0snEunUacZY",
"neetcode150": true,
"neetcode250": true
},
{
"name": "The k-th Lexicographical String of All Happy Strings of Length n",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "1415-the-k-th-lexicographical-string-of-all-happy-strings-of-length-n",
"link": "the-k-th-lexicographical-string-of-all-happy-strings-of-length-n/",
"video": "tRwXzsXJArI",
"neetcode250": true
},
{
"name": "Matchsticks to Square",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0473-matchsticks-to-square",
"link": "matchsticks-to-square/",
"video": "hUe0cUKV-YY",
"neetcode250": true
},
{
"name": "Splitting a String Into Descending Consecutive Values",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "1849-splitting-a-string-into-descending-consecutive-values",
"link": "splitting-a-string-into-descending-consecutive-values/",
"video": "eDtMmysldaw",
"neetcode250": true
},
{
"name": "Construct Smallest Number From DI String",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "2375-construct-smallest-number-from-di-string",
"link": "construct-smallest-number-from-di-string/",
"video": "GgN8d22BEf0"
},
{
"name": "Find Unique Binary String",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "1980-find-unique-binary-string",
"link": "find-unique-binary-string/",
"video": "aHqn4Dynd1k"
},
{
"name": "Split a String Into the Max Number of Unique Substrings",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "1593-split-a-string-into-the-max-number-of-unique-substrings",
"link": "split-a-string-into-the-max-number-of-unique-substrings/",
"video": "fLjeVALxzjg"
},
{
"name": "Maximum Length of a Concatenated String With Unique Characters",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "1239-maximum-length-of-a-concatenated-string-with-unique-characters",
"link": "maximum-length-of-a-concatenated-string-with-unique-characters/",
"video": "d4SPuvkaeoo"
},
{
"name": "Partition to K Equal Sum Subsets",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0698-partition-to-k-equal-sum-subsets",
"link": "partition-to-k-equal-sum-subsets/",
"video": "mBk4I0X46oI",
"neetcode250": true
},
{
"name": "The Number of Beautiful Subsets",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "2597-the-number-of-beautiful-subsets",
"link": "the-number-of-beautiful-subsets/",
"video": "Dle_SpjHTio"
},
{
"name": "Different Ways to Add Parentheses",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0241-different-ways-to-add-parentheses",
"link": "different-ways-to-add-parentheses/",
"video": "cykVFFm5D3s"
},
{
"name": "Construct the Lexicographically Largest Valid Sequence",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "1718-construct-the-lexicographically-largest-valid-sequence",
"link": "construct-the-lexicographically-largest-valid-sequence/",
"video": "rNv0vgNc4Ww"
},
{
"name": "Count Number of Maximum Bitwise-OR Subsets",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "2044-count-number-of-maximum-bitwise-or-subsets",
"link": "count-number-of-maximum-bitwise-or-subsets/",
"video": "_wBj3IMV7tY"
},
{
"name": "Strobogrammatic Number II",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0247-strobogrammatic-number-ii",
"link": "strobogrammatic-number-ii/"
},
{
"name": "Factor Combinations",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0254-factor-combinations",
"link": "factor-combinations/"
},
{
"name": "Brace Expansion",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "1087-brace-expansion",
"link": "brace-expansion/"
},
{
"name": "Word Pattern II",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0291-word-pattern-ii",
"link": "word-pattern-ii/"
},
{
"name": "Android Unlock Patterns",
"pattern": "Backtracking",
"difficulty": "Medium",
"code": "0351-android-unlock-patterns",
"link": "android-unlock-patterns/",
"neetcode150": true,
"neetcode250": true
},
{
"name": "N Queens",
"pattern": "Backtracking",
"difficulty": "Hard",
"code": "0051-n-queens",
"link": "n-queens/",
"video": "Ph95IHmRp5M",
"neetcode150": true,
"neetcode250": true
},
{
"name": "N Queens II",
"pattern": "Backtracking",
"difficulty": "Hard",
"code": "0052-n-queens-ii",
"link": "n-queens-ii/",
"video": "nalYyLZgvCY",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Maximum Score Words Formed By Letters",
"pattern": "Backtracking",
"difficulty": "Hard",
"code": "1255-maximum-score-words-formed-by-letters",
"link": "maximum-score-words-formed-by-letters/",
"video": "1cV8Hq9IAk4",
"neetcode250": true
},
{
"name": "Word Break II",
"pattern": "Backtracking",
"difficulty": "Hard",
"code": "0140-word-break-ii",
"link": "word-break-ii/",
"video": "QgLKdluDo08",
"neetcode250": true
},
{
"name": "Robot Room Cleaner",
"pattern": "Backtracking",
"difficulty": "Hard",
"code": "0489-robot-room-cleaner",
"link": "robot-room-cleaner/",
"neetcode250": true
}
],
"Tries": [
{
"name": "Count Prefix and Suffix Pairs I",
"pattern": "Tries",
"difficulty": "Easy",
"code": "3042-count-prefix-and-suffix-pairs-i",
"link": "count-prefix-and-suffix-pairs-i/",
"video": "zQrtsvo8lgM"
},
{
"name": "Implement Trie Prefix Tree",
"pattern": "Tries",
"difficulty": "Medium",
"code": "0208-implement-trie-prefix-tree",
"link": "implement-trie-prefix-tree/",
"video": "oobqoCJlHA0",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Design Add And Search Words Data Structure",
"pattern": "Tries",
"difficulty": "Medium",
"code": "0211-design-add-and-search-words-data-structure",
"link": "design-add-and-search-words-data-structure/",
"video": "BTf05gs_8iU",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Counting Words With a Given Prefix",
"pattern": "Tries",
"difficulty": "Easy",
"code": "2185-counting-words-with-a-given-prefix",
"link": "counting-words-with-a-given-prefix/",
"video": "B26hW8fBMj0"
},
{
"name": "Remove Sub-Folders from the Filesystem",
"pattern": "Tries",
"difficulty": "Medium",
"code": "1233-remove-sub-folders-from-the-filesystem",
"link": "remove-sub-folders-from-the-filesystem/",
"video": "WDDLp2l9TrM"
},
{
"name": "Extra Characters in a String",
"pattern": "Tries",
"difficulty": "Medium",
"code": "2707-extra-characters-in-a-string",
"link": "extra-characters-in-a-string/",
"video": "ONstwO1cD7c",
"neetcode250": true
},
{
"name": "Design File System",
"pattern": "Tries",
"difficulty": "Medium",
"code": "1166-design-file-system",
"link": "design-file-system/",
"neetcode150": true,
"blind75": true
},
{
"name": "Word Search II",
"pattern": "Tries",
"difficulty": "Hard",
"code": "0212-word-search-ii",
"link": "word-search-ii/",
"video": "asbcE9mZz_U",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Sum of Prefix Scores of Strings",
"pattern": "Tries",
"difficulty": "Hard",
"code": "2416-sum-of-prefix-scores-of-strings",
"link": "sum-of-prefix-scores-of-strings/",
"video": "F-5cmvhLw90",
"neetcode250": true
},
{
"name": "Count Prefix and Suffix Pairs II",
"pattern": "Tries",
"difficulty": "Hard",
"code": "3045-count-prefix-and-suffix-pairs-ii",
"link": "count-prefix-and-suffix-pairs-ii/",
"video": "zQrtsvo8lgM"
},
{
"name": "Design In-Memory File System",
"pattern": "Tries",
"difficulty": "Hard",
"code": "0588-design-in-memory-file-system",
"link": "design-in-memory-file-system/"
},
{
"name": "Design Search Autocomplete System",
"pattern": "Tries",
"difficulty": "Hard",
"code": "0642-design-search-autocomplete-system",
"link": "design-search-autocomplete-system/"
}
],
"Graphs": [
{
"name": "Island Perimeter",
"pattern": "Graphs",
"difficulty": "Easy",
"code": "0463-island-perimeter",
"link": "island-perimeter/",
"video": "fISIuAFRM2s",
"neetcode250": true
},
{
"name": "Verifying An Alien Dictionary",
"pattern": "Graphs",
"difficulty": "Easy",
"code": "0953-verifying-an-alien-dictionary",
"link": "verifying-an-alien-dictionary/",
"video": "OVgPAJIyX6o",
"neetcode250": true
},
{
"name": "Find the Town Judge",
"pattern": "Graphs",
"difficulty": "Easy",
"code": "0997-find-the-town-judge",
"link": "find-the-town-judge/",
"video": "QiGaxdUINJ8",
"neetcode250": true
},
{
"name": "Flood Fill",
"pattern": "Graphs",
"difficulty": "Easy",
"code": "0733-flood-fill",
"link": "flood-fill/",
"neetcode250": true
},
{
"name": "Count Servers that Communicate",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1267-count-servers-that-communicate",
"link": "count-servers-that-communicate/",
"video": "meTbkgqNNYM"
},
{
"name": "Find Champion II",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "2924-find-champion-ii",
"link": "find-champion-ii/",
"video": "HjSmSLPR7S4",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Number of Islands",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0200-number-of-islands",
"link": "number-of-islands/",
"video": "pV2kpPD66nE",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Max Area of Island",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0695-max-area-of-island",
"link": "max-area-of-island/",
"video": "iJGr1OtmH0c",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Maximum Number of Fish in a Grid",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "2658-maximum-number-of-fish-in-a-grid",
"link": "maximum-number-of-fish-in-a-grid/",
"video": "JhAz6CkRGHI",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Clone Graph",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0133-clone-graph",
"link": "clone-graph/",
"video": "mQeF6bN8hMk",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Walls And Gates",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0286-walls-and-gates",
"link": "walls-and-gates/",
"video": "e69C6xhiSQE",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Rotting Oranges",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0994-rotting-oranges",
"link": "rotting-oranges/",
"video": "y704fEOx0s0",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Count Sub Islands",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1905-count-sub-islands",
"link": "count-sub-islands/",
"video": "mLpW3qfbNJ8",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Pacific Atlantic Water Flow",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0417-pacific-atlantic-water-flow",
"link": "pacific-atlantic-water-flow/",
"video": "s-VkcjHqkGI",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Surrounded Regions",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0130-surrounded-regions",
"link": "surrounded-regions/",
"video": "9z2BunfoZ5Y",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Reorder Routes to Make All Paths Lead to The City Zero",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1466-reorder-routes-to-make-all-paths-lead-to-the-city-zero",
"link": "reorder-routes-to-make-all-paths-lead-to-the-city-zero/",
"video": "m17yOR5_PpI",
"neetcode250": true
},
{
"name": "Snakes And Ladders",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0909-snakes-and-ladders",
"link": "snakes-and-ladders/",
"video": "6lH4nO3JfLk",
"neetcode250": true
},
{
"name": "Open The Lock",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0752-open-the-lock",
"link": "open-the-lock/",
"video": "Pzg3bCDY87w",
"neetcode250": true
},
{
"name": "Find Eventual Safe States",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0802-find-eventual-safe-states",
"link": "find-eventual-safe-states/",
"video": "Re_v0j0CRsg",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Course Schedule",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0207-course-schedule",
"link": "course-schedule/",
"video": "EgI5nU9etnU",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Course Schedule II",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0210-course-schedule-ii",
"link": "course-schedule-ii/",
"video": "Akt3glAwyfY",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Graph Valid Tree",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0261-graph-valid-tree",
"link": "graph-valid-tree/",
"video": "bXsUuownnoQ",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Course Schedule IV",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1462-course-schedule-iv",
"link": "course-schedule-iv/",
"video": "cEW05ofxhn0",
"blind75": true,
"neetcode250": true
},
{
"name": "Check if Move Is Legal",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1958-check-if-move-is-legal",
"link": "check-if-move-is-legal/",
"video": "KxK33AcQZpQ",
"neetcode250": true
},
{
"name": "Shortest Bridge",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0934-shortest-bridge",
"link": "shortest-bridge/",
"video": "gkINMhbbIbU"
},
{
"name": "Shortest Path in Binary Matrix",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1091-shortest-path-in-binary-matrix",
"link": "shortest-path-in-binary-matrix/",
"video": "YnxUdAO7TAo"
},
{
"name": "Number of Connected Components In An Undirected Graph",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0323-number-of-connected-components-in-an-undirected-graph",
"link": "number-of-connected-components-in-an-undirected-graph/",
"video": "8f1XPm4WOUc",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Redundant Connection",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0684-redundant-connection",
"link": "redundant-connection/",
"video": "1lNK80tOTfc",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Accounts Merge",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0721-accounts-merge",
"link": "accounts-merge/",
"video": "6st4IxEF-90",
"neetcode250": true
},
{
"name": "Find Closest Node to Given Two Nodes",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "2359-find-closest-node-to-given-two-nodes",
"link": "find-closest-node-to-given-two-nodes/",
"video": "AZA8orksO4w",
"neetcode250": true
},
{
"name": "As Far from Land as Possible",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1162-as-far-from-land-as-possible",
"link": "as-far-from-land-as-possible/",
"video": "fjxb1hQfrZk"
},
{
"name": "Shortest Path with Alternating Colors",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1129-shortest-path-with-alternating-colors",
"link": "shortest-path-with-alternating-colors/",
"video": "69rcy6lb-HQ"
},
{
"name": "Minimum Fuel Cost to Report to the Capital",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "2477-minimum-fuel-cost-to-report-to-the-capital",
"link": "minimum-fuel-cost-to-report-to-the-capital/",
"video": "I3lnDUIzIG4"
},
{
"name": "Minimum Score of a Path Between Two Cities",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "2492-minimum-score-of-a-path-between-two-cities",
"link": "minimum-score-of-a-path-between-two-cities/",
"video": "K7-mXA0irhY"
},
{
"name": "Number of Closed Islands",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1254-number-of-closed-islands",
"link": "number-of-closed-islands/",
"video": "X8k48xek8g8"
},
{
"name": "Number of Enclaves",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1020-number-of-enclaves",
"link": "number-of-enclaves/",
"video": "gf0zsh1FIgE"
},
{
"name": "Number of Provinces",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0547-number-of-provinces",
"link": "number-of-provinces/"
},
{
"name": "Regions Cut By Slashes",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0959-regions-cut-by-slashes",
"link": "regions-cut-by-slashes/",
"video": "j8KrBYIxHK8"
},
{
"name": "Minimum Number of Vertices to Reach all Nodes",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1557-minimum-number-of-vertices-to-reach-all-nodes",
"link": "minimum-number-of-vertices-to-reach-all-nodes/",
"video": "TLzcum7vrTc"
},
{
"name": "Is Graph Bipartite?",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0785-is-graph-bipartite",
"link": "is-graph-bipartite/",
"video": "mev55LTubBY"
},
{
"name": "Count the Number of Complete Components",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "2685-count-the-number-of-complete-components",
"link": "count-the-number-of-complete-components/",
"video": "FjLirf3k9ao",
"neetcode250": true
},
{
"name": "Evaluate Division",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0399-evaluate-division",
"link": "evaluate-division/",
"video": "Uei1fwDoyKk",
"neetcode250": true
},
{
"name": "Detonate the Maximum Bombs",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "2101-detonate-the-maximum-bombs",
"link": "detonate-the-maximum-bombs/",
"video": "8NPbAvVXKR4",
"neetcode250": true
},
{
"name": "Find All Possible Recipes from Given Supplies",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "2115-find-all-possible-recipes-from-given-supplies",
"link": "find-all-possible-recipes-from-given-supplies/",
"video": "AQrsAc3EcyQ"
},
{
"name": "Shortest Distance After Road Addition Queries I",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "3243-shortest-distance-after-road-addition-queries-i",
"link": "shortest-distance-after-road-addition-queries-i/",
"video": "zCeZOyACpUQ",
"neetcode250": true
},
{
"name": "Minimum Height Trees",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0310-minimum-height-trees",
"link": "minimum-height-trees/",
"video": "wQGQnyv_9hI",
"neetcode250": true
},
{
"name": "Path with Maximum Gold",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1219-path-with-maximum-gold",
"link": "path-with-maximum-gold/",
"video": "I1wllM_pozY",
"neetcode250": true
},
{
"name": "Most Profitable Path in a Tree",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "2467-most-profitable-path-in-a-tree",
"link": "most-profitable-path-in-a-tree/",
"video": "mESeQZKfvtY"
},
{
"name": "Find the Celebrity",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0277-find-the-celebrity",
"link": "find-the-celebrity/"
},
{
"name": "Kill Process",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0582-kill-process",
"link": "kill-process/"
},
{
"name": "All Paths from Source Lead to Destination",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1059-all-paths-from-source-lead-to-destination",
"link": "all-paths-from-source-lead-to-destination/"
},
{
"name": "Web Crawler",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1236-web-crawler",
"link": "web-crawler/"
},
{
"name": "Number of Distinct Islands",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0694-number-of-distinct-islands",
"link": "number-of-distinct-islands/"
},
{
"name": "Parallel Courses",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1136-parallel-courses",
"link": "parallel-courses/"
},
{
"name": "The Maze",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0490-the-maze",
"link": "the-maze/"
},
{
"name": "The Maze II",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0505-the-maze-ii",
"link": "the-maze-ii/"
},
{
"name": "Minimum Knight Moves",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "1197-minimum-knight-moves",
"link": "minimum-knight-moves/"
},
{
"name": "Number of Islands II",
"pattern": "Graphs",
"difficulty": "Hard",
"code": "0305-number-of-islands-ii",
"link": "number-of-islands-ii/"
},
{
"name": "The Maze III",
"pattern": "Graphs",
"difficulty": "Hard",
"code": "0499-the-maze-iii",
"link": "the-maze-iii/"
},
{
"name": "Shortest Distance from All Buildings",
"pattern": "Graphs",
"difficulty": "Hard",
"code": "0317-shortest-distance-from-all-buildings",
"link": "shortest-distance-from-all-buildings/"
},
{
"name": "Nested List Weight Sum",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0339-nested-list-weight-sum",
"link": "nested-list-weight-sum/"
},
{
"name": "Maximum Number of Points From Grid Queries",
"pattern": "Graphs",
"difficulty": "Hard",
"code": "2503-maximum-number-of-points-from-grid-queries",
"link": "maximum-number-of-points-from-grid-queries/",
"video": "NtH8cWBCu3Y"
},
{
"name": "Maximum Number of K-Divisible Components",
"pattern": "Graphs",
"difficulty": "Hard",
"code": "2872-maximum-number-of-k-divisible-components",
"link": "maximum-number-of-k-divisible-components/",
"video": "xlgOaIK-inc"
},
{
"name": "Sliding Puzzle",
"pattern": "Graphs",
"difficulty": "Hard",
"code": "0773-sliding-puzzle",
"link": "sliding-puzzle/",
"video": "C8wonkVDWz8"
},
{
"name": "Largest Color Value in a Directed Graph",
"pattern": "Graphs",
"difficulty": "Hard",
"code": "1857-largest-color-value-in-a-directed-graph",
"link": "largest-color-value-in-a-directed-graph/",
"video": "xLoDjKczUSk"
},
{
"name": "Minimum Number of Days to Eat N Oranges",
"pattern": "Graphs",
"difficulty": "Hard",
"code": "1553-minimum-number-of-days-to-eat-n-oranges",
"link": "minimum-number-of-days-to-eat-n-oranges/",
"video": "LziQ6Qx9sks"
},
{
"name": "Find All People With Secret",
"pattern": "Graphs",
"difficulty": "Hard",
"code": "2092-find-all-people-with-secret",
"link": "find-all-people-with-secret/",
"video": "1XujGRSU1bQ",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Word Ladder",
"pattern": "Graphs",
"difficulty": "Hard",
"code": "0127-word-ladder",
"link": "word-ladder/",
"video": "h9iTnkgv05E",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Parallel Courses III",
"pattern": "Graphs",
"difficulty": "Hard",
"code": "2050-parallel-courses-iii",
"link": "parallel-courses-iii/",
"video": "a_NlRPnqCrg",
"neetcode250": true
},
{
"name": "Number of Distinct Islands II",
"pattern": "Graphs",
"difficulty": "Hard",
"code": "0711-number-of-distinct-islands-ii",
"link": "number-of-distinct-islands-ii/"
},
{
"name": "Sentence Similarity II",
"pattern": "Graphs",
"difficulty": "Medium",
"code": "0737-sentence-similarity-ii",
"link": "sentence-similarity-ii/"
}
],
"Advanced Graphs": [
{
"name": "Path with Minimum Effort",
"pattern": "Advanced Graphs",
"difficulty": "Medium",
"code": "1631-path-with-minimum-effort",
"link": "path-with-minimum-effort/",
"video": "XQlxCCx2vI4",
"neetcode250": true
},
{
"name": "Network Delay Time",
"pattern": "Advanced Graphs",
"difficulty": "Medium",
"code": "0743-network-delay-time",
"link": "network-delay-time/",
"video": "EaphyqKU4PQ",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Reconstruct Itinerary",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "0332-reconstruct-itinerary",
"link": "reconstruct-itinerary/",
"video": "ZyB_gQ8vqGA",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Min Cost to Connect All Points",
"pattern": "Advanced Graphs",
"difficulty": "Medium",
"code": "1584-min-cost-to-connect-all-points",
"link": "min-cost-to-connect-all-points/",
"video": "f7JOBJIC-NA",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Path with Maximum Probability",
"pattern": "Advanced Graphs",
"difficulty": "Medium",
"code": "1514-path-with-maximum-probability",
"link": "path-with-maximum-probability/",
"video": "kPsDTGcrzGM"
},
{
"name": "Find the Safest Path in a Grid",
"pattern": "Advanced Graphs",
"difficulty": "Medium",
"code": "2812-find-the-safest-path-in-a-grid",
"link": "find-the-safest-path-in-a-grid/",
"video": "-5mQcNiVWTs",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Swim In Rising Water",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "0778-swim-in-rising-water",
"link": "swim-in-rising-water/",
"video": "amvrKlMLuGY",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Alien Dictionary",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "0269-alien-dictionary",
"link": "alien-dictionary/",
"video": "6kTZYvNNyps",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Trapping Rain Water II",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "0407-trapping-rain-water-ii",
"link": "trapping-rain-water-ii/",
"video": "onA7_MaPGkM"
},
{
"name": "Minimum Obstacle Removal to Reach Corner",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "2290-minimum-obstacle-removal-to-reach-corner",
"link": "minimum-obstacle-removal-to-reach-corner/",
"video": "VxeH7_QL-28"
},
{
"name": "Minimum Cost to Make at Least One Valid Path in a Grid",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "1368-minimum-cost-to-make-at-least-one-valid-path-in-a-grid",
"link": "minimum-cost-to-make-at-least-one-valid-path-in-a-grid/",
"video": "3DwA6AsQvDI"
},
{
"name": "Minimum Time to Visit a Cell In a Grid",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "2577-minimum-time-to-visit-a-cell-in-a-grid",
"link": "minimum-time-to-visit-a-cell-in-a-grid/",
"video": "Kj98r8IgJOQ"
},
{
"name": "Cheapest Flights Within K Stops",
"pattern": "Advanced Graphs",
"difficulty": "Medium",
"code": "0787-cheapest-flights-within-k-stops",
"link": "cheapest-flights-within-k-stops/",
"video": "5eIK3zUdYmE",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Find the City With the Smallest Number of Neighbors at a Threshold Distance",
"pattern": "Advanced Graphs",
"difficulty": "Medium",
"code": "1334-find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance",
"link": "find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance/",
"video": "--wKPR3ByJc",
"neetcode250": true
},
{
"name": "Minimum Cost to Convert String I",
"pattern": "Advanced Graphs",
"difficulty": "Medium",
"code": "2976-minimum-cost-to-convert-string-i",
"link": "minimum-cost-to-convert-string-i/",
"video": "AVJhazQsNms"
},
{
"name": "Number of Ways to Arrive at Destination",
"pattern": "Advanced Graphs",
"difficulty": "Medium",
"code": "1976-number-of-ways-to-arrive-at-destination",
"link": "number-of-ways-to-arrive-at-destination/",
"video": "VFCzKOH1hnk"
},
{
"name": "Sequence Reconstruction",
"pattern": "Advanced Graphs",
"difficulty": "Medium",
"code": "0444-sequence-reconstruction",
"link": "sequence-reconstruction/"
},
{
"name": "Making A Large Island",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "0827-making-a-large-island",
"link": "making-a-large-island/",
"video": "pq61VNqXGvA"
},
{
"name": "Minimum Cost Walk in Weighted Graph",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "3108-minimum-cost-walk-in-weighted-graph",
"link": "minimum-cost-walk-in-weighted-graph/",
"video": "UL8radjMPUM"
},
{
"name": "Number of Good Paths",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "2421-number-of-good-paths",
"link": "number-of-good-paths/",
"video": "rv2GBYQm7xM"
},
{
"name": "Maximum Employees to Be Invited to a Meeting",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "2127-maximum-employees-to-be-invited-to-a-meeting",
"link": "maximum-employees-to-be-invited-to-a-meeting/",
"video": "aPBELJa-LM8"
},
{
"name": "Remove Max Number of Edges to Keep Graph Fully Traversable",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "1579-remove-max-number-of-edges-to-keep-graph-fully-traversable",
"link": "remove-max-number-of-edges-to-keep-graph-fully-traversable/",
"video": "booGwg5wYm4"
},
{
"name": "Minimum Number of Days to Disconnect Island",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "1568-minimum-number-of-days-to-disconnect-island",
"link": "minimum-number-of-days-to-disconnect-island/",
"video": "aO-QbJ5eZwU"
},
{
"name": "Second Minimum Time to Reach Destination",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "2045-second-minimum-time-to-reach-destination",
"link": "second-minimum-time-to-reach-destination/",
"video": "2F7gwxfy1CU"
},
{
"name": "Find Minimum Diameter After Merging Two Trees",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "3203-find-minimum-diameter-after-merging-two-trees",
"link": "find-minimum-diameter-after-merging-two-trees/",
"video": "tK1TLnhmXzw"
},
{
"name": "Find Critical and Pseudo Critical Edges in Minimum Spanning Tree",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "1489-find-critical-and-pseudo-critical-edges-in-minimum-spanning-tree",
"link": "find-critical-and-pseudo-critical-edges-in-minimum-spanning-tree/",
"video": "83JnUxrLKJU",
"neetcode250": true
},
{
"name": "Bus Routes",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "0815-bus-routes",
"link": "bus-routes/"
},
{
"name": "Build a Matrix With Conditions",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "2392-build-a-matrix-with-conditions",
"link": "build-a-matrix-with-conditions/",
"video": "khTKB1PzCuw",
"neetcode250": true
},
{
"name": "Greatest Common Divisor Traversal",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "2709-greatest-common-divisor-traversal",
"link": "greatest-common-divisor-traversal/",
"video": "jZ-RVp5CVYY",
"neetcode250": true
},
{
"name": "Divide Nodes Into the Maximum Number of Groups",
"pattern": "Advanced Graphs",
"difficulty": "Hard",
"code": "2493-divide-nodes-into-the-maximum-number-of-groups",
"link": "divide-nodes-into-the-maximum-number-of-groups/",
"video": "Gn0ADjje8Rg",
"neetcode150": true,
"blind75": true,
"neetcode250": true
}
],
"1-D Dynamic Programming": [
{
"name": "Climbing Stairs",
"pattern": "1-D Dynamic Programming",
"difficulty": "Easy",
"code": "0070-climbing-stairs",
"link": "climbing-stairs/",
"video": "Y0lT9Fck7qI",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Min Cost Climbing Stairs",
"pattern": "1-D Dynamic Programming",
"difficulty": "Easy",
"code": "0746-min-cost-climbing-stairs",
"link": "min-cost-climbing-stairs/",
"video": "ktmzAZWkEZ0",
"neetcode150": true,
"neetcode250": true
},
{
"name": "N-th Tribonacci Number",
"pattern": "1-D Dynamic Programming",
"difficulty": "Easy",
"code": "1137-n-th-tribonacci-number",
"link": "n-th-tribonacci-number/",
"video": "3lpNp5Ojvrw",
"neetcode250": true
},
{
"name": "House Robber",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0198-house-robber",
"link": "house-robber/",
"video": "73r3KWiEvyk",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "House Robber II",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0213-house-robber-ii",
"link": "house-robber-ii/",
"video": "rWAJCfYYOvM",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Paint House",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0256-paint-house",
"link": "paint-house/",
"video": "-w67-4tnH5U",
"neetcode250": true
},
{
"name": "Paint Fence",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0276-paint-fence",
"link": "paint-fence/"
},
{
"name": "4 Keys Keyboard",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0651-4-keys-keyboard",
"link": "4-keys-keyboard/"
},
{
"name": "Handshakes That Don't Cross",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "1259-handshakes-that-dont-cross",
"link": "handshakes-that-dont-cross/"
},
{
"name": "Longest Palindromic Substring",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0005-longest-palindromic-substring",
"link": "longest-palindromic-substring/",
"video": "XYQecbcd6_c",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Palindromic Substrings",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0647-palindromic-substrings",
"link": "palindromic-substrings/",
"video": "4RACzI5-du8",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Decode Ways",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0091-decode-ways",
"link": "decode-ways/",
"video": "6aEyTjOwlJU",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Coin Change",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0322-coin-change",
"link": "coin-change/",
"video": "H9bfqozjoqs",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Maximum Product Subarray",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0152-maximum-product-subarray",
"link": "maximum-product-subarray/",
"video": "lXVy6YWFcRM",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Word Break",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0139-word-break",
"link": "word-break/",
"video": "Sx9NNgInc3A",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Longest Increasing Subsequence",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0300-longest-increasing-subsequence",
"link": "longest-increasing-subsequence/",
"video": "cjWnW0hdF1Y",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Partition Equal Subset Sum",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0416-partition-equal-subset-sum",
"link": "partition-equal-subset-sum/",
"video": "IsvocB5BJhw",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Triangle",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0120-triangle",
"link": "triangle/",
"video": "OM1MTokvxs4"
},
{
"name": "Delete And Earn",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0740-delete-and-earn",
"link": "delete-and-earn/",
"video": "7FCemBxvGw0"
},
{
"name": "Filling Bookcase Shelves",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "1105-filling-bookcase-shelves",
"link": "filling-bookcase-shelves/",
"video": "lFYPPPTp8qE",
"neetcode250": true
},
{
"name": "Combination Sum IV",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0377-combination-sum-iv",
"link": "combination-sum-iv/",
"video": "dw2nMCxG0ik",
"neetcode250": true
},
{
"name": "Perfect Squares",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0279-perfect-squares",
"link": "perfect-squares/",
"video": "HLZLwjzIVGo",
"neetcode250": true
},
{
"name": "Check if There is a Valid Partition For The Array",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "2369-check-if-there-is-a-valid-partition-for-the-array",
"link": "check-if-there-is-a-valid-partition-for-the-array/",
"video": "OxXPiwWFdTI",
"neetcode250": true
},
{
"name": "Maximum Subarray Min Product",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "1856-maximum-subarray-min-product",
"link": "maximum-subarray-min-product/",
"video": "YLesLbNkyjA"
},
{
"name": "Minimum Cost For Tickets",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0983-minimum-cost-for-tickets",
"link": "minimum-cost-for-tickets/",
"video": "4Kww-zIkWWY",
"neetcode250": true
},
{
"name": "Integer Break",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0343-integer-break",
"link": "integer-break/",
"video": "in6QbUPMJ3I",
"neetcode250": true
},
{
"name": "Number of Longest Increasing Subsequence",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0673-number-of-longest-increasing-subsequence",
"link": "number-of-longest-increasing-subsequence/",
"video": "Tuc-rjJbsXU",
"neetcode250": true
},
{
"name": "Russian Doll Envelopes",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "0354-russian-doll-envelopes",
"link": "russian-doll-envelopes/"
},
{
"name": "Stickers to Spell Word",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "0691-stickers-to-spell-word",
"link": "stickers-to-spell-word/",
"video": "hsomLb6mUdI"
},
{
"name": "Uncrossed Lines",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "1035-uncrossed-lines",
"link": "uncrossed-lines/",
"video": "mnJF4vJ7GyE"
},
{
"name": "Solving Questions With Brainpower",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "2140-solving-questions-with-brainpower",
"link": "solving-questions-with-brainpower/",
"video": "D7TD_ArkfkA"
},
{
"name": "Count Ways to Build Good Strings",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "2466-count-ways-to-build-good-strings",
"link": "count-ways-to-build-good-strings/",
"video": "JKpVHG2mhbk"
},
{
"name": "Ugly Number II",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0264-ugly-number-ii",
"link": "ugly-number-ii/",
"video": "1pj2a5bmziY"
},
{
"name": "New 21 Game",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0837-new-21-game",
"link": "new-21-game/",
"video": "zKi4LzjK27k"
},
{
"name": "Best Team with no Conflicts",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "1626-best-team-with-no-conflicts",
"link": "best-team-with-no-conflicts/",
"video": "7kURH3btcV4"
},
{
"name": "Longest String Chain",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "1048-longest-string-chain",
"link": "longest-string-chain/",
"video": "7b0V1gT_TIk"
},
{
"name": "Knight Dialer",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0935-knight-dialer",
"link": "knight-dialer/",
"video": "vlsUUm_qqsY"
},
{
"name": "Partition Array for Maximum Sum",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "1043-partition-array-for-maximum-sum",
"link": "partition-array-for-maximum-sum/",
"video": "kWhy4ZUBdOY"
},
{
"name": "Largest Divisible Subset",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0368-largest-divisible-subset",
"link": "largest-divisible-subset/",
"video": "LeRU6irRoW0"
},
{
"name": "Count Strictly Increasing Subarrays",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "2393-count-strictly-increasing-subarrays",
"link": "count-strictly-increasing-subarrays/"
},
{
"name": "Sentence Screen Fitting",
"pattern": "1-D Dynamic Programming",
"difficulty": "Medium",
"code": "0418-sentence-screen-fitting",
"link": "sentence-screen-fitting/"
},
{
"name": "Stone Game III",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "1406-stone-game-iii",
"link": "stone-game-iii/",
"video": "HsLG5QW9CFQ",
"neetcode250": true
},
{
"name": "Concatenated Words",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "0472-concatenated-words",
"link": "concatenated-words/",
"video": "iHp7fjw1R28",
"neetcode250": true
},
{
"name": "Maximize Score after N Operations",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "1799-maximize-score-after-n-operations",
"link": "maximize-score-after-n-operations/",
"video": "RRQVDqp5RSE"
},
{
"name": "Find the Longest Valid Obstacle Course at Each Position",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "1964-find-the-longest-valid-obstacle-course-at-each-position",
"link": "find-the-longest-valid-obstacle-course-at-each-position/",
"video": "Xq9VT7p0lic"
},
{
"name": "Minimum Number of Removals to Make Mountain Array",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "1671-minimum-number-of-removals-to-make-mountain-array",
"link": "minimum-number-of-removals-to-make-mountain-array/",
"video": "Ys-q9qPpleY"
},
{
"name": "Count all Valid Pickup and Delivery Options",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "1359-count-all-valid-pickup-and-delivery-options",
"link": "count-all-valid-pickup-and-delivery-options/",
"video": "OpgslsirW8s"
},
{
"name": "Number of Ways to Divide a Long Corridor",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "2147-number-of-ways-to-divide-a-long-corridor",
"link": "number-of-ways-to-divide-a-long-corridor/",
"video": "YOTjCd4Eyhc"
},
{
"name": "Maximum Sum of 3 Non-Overlapping Subarrays",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "0689-maximum-sum-of-3-non-overlapping-subarrays",
"link": "maximum-sum-of-3-non-overlapping-subarrays/",
"video": "SfjeJ1qyCVg"
},
{
"name": "Maximum Profit in Job Scheduling",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "1235-maximum-profit-in-job-scheduling",
"link": "maximum-profit-in-job-scheduling/",
"video": "JLoWc3v0SiE"
},
{
"name": "Student Attendance Record II",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "0552-student-attendance-record-ii",
"link": "student-attendance-record-ii/",
"video": "BPIJ5ROX0i4"
},
{
"name": "Optimal Account Balancing",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "0465-optimal-account-balancing",
"link": "optimal-account-balancing/"
},
{
"name": "Valid Palindrome III",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "1216-valid-palindrome-iii",
"link": "valid-palindrome-iii/"
},
{
"name": "Encode String with Shortest Length",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "0471-encode-string-with-shortest-length",
"link": "encode-string-with-shortest-length/"
},
{
"name": "Coin Path",
"pattern": "1-D Dynamic Programming",
"difficulty": "Hard",
"code": "0656-coin-path",
"link": "coin-path/",
"neetcode150": true,
"blind75": true
}
],
"2-D Dynamic Programming": [
{
"name": "Unique Paths",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0062-unique-paths",
"link": "unique-paths/",
"video": "IlEsdxuD4lY",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Unique Paths II",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0063-unique-paths-ii",
"link": "unique-paths-ii/",
"video": "d3UOz7zdE4I",
"blind75": true,
"neetcode250": true
},
{
"name": "Minimum Path Sum",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0064-minimum-path-sum",
"link": "minimum-path-sum/",
"video": "pGMsrvt0fpk",
"neetcode250": true
},
{
"name": "Maximum Number of Points with Cost",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "1937-maximum-number-of-points-with-cost",
"link": "maximum-number-of-points-with-cost/",
"video": "ik1y7fz8AOc",
"neetcode250": true
},
{
"name": "Longest Common Subsequence",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "1143-longest-common-subsequence",
"link": "longest-common-subsequence/",
"video": "Ua0GhsJSlWM",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Longest Palindromic Subsequence",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0516-longest-palindromic-subsequence",
"link": "longest-palindromic-subsequence/",
"video": "bUr8cNWI09Q"
},
{
"name": "Length of Longest Fibonacci Subsequence",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0873-length-of-longest-fibonacci-subsequence",
"link": "length-of-longest-fibonacci-subsequence/",
"video": "33kCYPLnvcE",
"neetcode250": true
},
{
"name": "Last Stone Weight II",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "1049-last-stone-weight-ii",
"link": "last-stone-weight-ii/",
"video": "gdXkkmzvR3c",
"neetcode250": true
},
{
"name": "Best Time to Buy And Sell Stock With Cooldown",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0309-best-time-to-buy-and-sell-stock-with-cooldown",
"link": "best-time-to-buy-and-sell-stock-with-cooldown/",
"video": "I7j0F7AHpb8",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Coin Change II",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0518-coin-change-ii",
"link": "coin-change-ii/",
"video": "Mjy4hd2xgrs",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Target Sum",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0494-target-sum",
"link": "target-sum/",
"video": "dwMOrl85Xes",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Interleaving String",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0097-interleaving-string",
"link": "interleaving-string/",
"video": "3Rw3p9LrgvE",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Stone Game",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0877-stone-game",
"link": "stone-game/",
"video": "uhgdXOlGYqE",
"neetcode250": true
},
{
"name": "Stone Game II",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "1140-stone-game-ii",
"link": "stone-game-ii/",
"video": "I-z-u0zfQtg",
"neetcode250": true
},
{
"name": "Longest Increasing Path In a Matrix",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "0329-longest-increasing-path-in-a-matrix",
"link": "longest-increasing-path-in-a-matrix/",
"video": "wCc_nd-GiEc",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Maximal Square",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0221-maximal-square",
"link": "maximal-square/",
"video": "6X7Ha2PrDmM"
},
{
"name": "Count Square Submatrices with All Ones",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "1277-count-square-submatrices-with-all-ones",
"link": "count-square-submatrices-with-all-ones/",
"video": "5Li-cR5h_uw"
},
{
"name": "Ones and Zeroes",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0474-ones-and-zeroes",
"link": "ones-and-zeroes/",
"video": "miZ3qV04b1g"
},
{
"name": "2 Keys Keyboard",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0650-2-keys-keyboard",
"link": "2-keys-keyboard/",
"video": "jNfZH3mdjOA"
},
{
"name": "Maximum Alternating Subsequence Sum",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "1911-maximum-alternating-subsequence-sum",
"link": "maximum-alternating-subsequence-sum/",
"video": "4v42XOuU1XA",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Distinct Subsequences",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "0115-distinct-subsequences",
"link": "distinct-subsequences/",
"video": "-RDzMJ33nx8",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Edit Distance",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0072-edit-distance",
"link": "edit-distance/",
"video": "XYi2-LPrwm4",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Number of Dice Rolls with Target Sum",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "1155-number-of-dice-rolls-with-target-sum",
"link": "number-of-dice-rolls-with-target-sum/",
"video": "hfUxjdjVQN4",
"neetcode250": true
},
{
"name": "Minimum Falling Path Sum",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0931-minimum-falling-path-sum",
"link": "minimum-falling-path-sum/",
"video": "b_F3mz9l-uQ"
},
{
"name": "Out of Boundary Paths",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0576-out-of-boundary-paths",
"link": "out-of-boundary-paths/",
"video": "Bg5CLRqtNmk"
},
{
"name": "Longest Ideal Subsequence",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "2370-longest-ideal-subsequence",
"link": "longest-ideal-subsequence/",
"video": "gR1E2oLQYSY"
},
{
"name": "Count Number of Teams",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "1395-count-number-of-teams",
"link": "count-number-of-teams/",
"video": "zONHzIqCr-o"
},
{
"name": "Shortest Common Supersequence",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "1092-shortest-common-supersequence",
"link": "shortest-common-supersequence/",
"video": "JkjQNJSxXN0"
},
{
"name": "Count Vowels Permutation",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "1220-count-vowels-permutation",
"link": "count-vowels-permutation/",
"video": "VUVpTZVa7Ls",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Burst Balloons",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "0312-burst-balloons",
"link": "burst-balloons/",
"video": "VFskby7lUbw",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Number of Ways to Rearrange Sticks With K Sticks Visible",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "1866-number-of-ways-to-rearrange-sticks-with-k-sticks-visible",
"link": "number-of-ways-to-rearrange-sticks-with-k-sticks-visible/",
"video": "O761YBjGxGA",
"neetcode250": true
},
{
"name": "Regular Expression Matching",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "0010-regular-expression-matching",
"link": "regular-expression-matching/",
"video": "HAA8mgxlov8",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Flip String to Monotone Increasing",
"pattern": "2-D Dynamic Programming",
"difficulty": "Medium",
"code": "0926-flip-string-to-monotone-increasing",
"link": "flip-string-to-monotone-increasing/",
"video": "tMq9z5k3umQ"
},
{
"name": "Maximum Value of K Coins from Piles",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "2218-maximum-value-of-k-coins-from-piles",
"link": "maximum-value-of-k-coins-from-piles/",
"video": "ZRdEd_eun8g"
},
{
"name": "Number of Music Playlists",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "0920-number-of-music-playlists",
"link": "number-of-music-playlists/",
"video": "gk4qzZSmyrs"
},
{
"name": "Number of Ways to Form a Target String Given a Dictionary",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "1639-number-of-ways-to-form-a-target-string-given-a-dictionary",
"link": "number-of-ways-to-form-a-target-string-given-a-dictionary/",
"video": "_GF-0T-YjW8"
},
{
"name": "Profitable Schemes",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "0879-profitable-schemes",
"link": "profitable-schemes/",
"video": "CcLKQLKvOl8"
},
{
"name": "Minimum Cost to Cut a Stick",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "1547-minimum-cost-to-cut-a-stick",
"link": "minimum-cost-to-cut-a-stick/",
"video": "EVxTO5I0d7w"
},
{
"name": "Painting the Walls",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "2742-painting-the-walls",
"link": "painting-the-walls/",
"video": "qMZJunF5UaI"
},
{
"name": "Number of Ways to Stay in the Same Place After Some Steps",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "1269-number-of-ways-to-stay-in-the-same-place-after-some-steps",
"link": "number-of-ways-to-stay-in-the-same-place-after-some-steps/",
"video": "8YBGXG-8sRI"
},
{
"name": "String Compression II",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "1531-string-compression-ii",
"link": "string-compression-ii/",
"video": "ISIG3o-Xofg"
},
{
"name": "Minimum Difficulty of a Job Schedule",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "1335-minimum-difficulty-of-a-job-schedule",
"link": "minimum-difficulty-of-a-job-schedule/",
"video": "DAAULrZFeLI"
},
{
"name": "Arithmetic Slices II",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "0446-arithmetic-slices-ii-subsequence",
"link": "arithmetic-slices-ii-subsequence/",
"video": "YIMwwT9JdIE"
},
{
"name": "K Inverse Pairs Array",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "0629-k-inverse-pairs-array",
"link": "k-inverse-pairs-array/",
"video": "dglwb30bUKI"
},
{
"name": "Cherry Pickup",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "0741-cherry-pickup",
"link": "cherry-pickup/"
},
{
"name": "Cherry Pickup II",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "1463-cherry-pickup-ii",
"link": "cherry-pickup-ii/",
"video": "c1stwk2TbNk"
},
{
"name": "Minimum Falling Path Sum II",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "1289-minimum-falling-path-sum-ii",
"link": "minimum-falling-path-sum-ii/",
"video": "_b8sptrsFEM"
},
{
"name": "Freedom Trail",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "0514-freedom-trail",
"link": "freedom-trail/",
"video": "NOgnlTXidSs"
},
{
"name": "Split Array With Same Average",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "0805-split-array-with-same-average",
"link": "split-array-with-same-average/"
},
{
"name": "Paint House II",
"pattern": "2-D Dynamic Programming",
"difficulty": "Hard",
"code": "0265-paint-house-ii",
"link": "paint-house-ii/"
}
],
"Greedy": [
{
"name": "Buy Two Chocolates",
"pattern": "Greedy",
"difficulty": "Easy",
"code": "2706-buy-two-chocolates",
"link": "buy-two-chocolates/",
"video": "BTzNimiQdW4",
"neetcode250": true
},
{
"name": "Lemonade Change",
"pattern": "Greedy",
"difficulty": "Easy",
"code": "860-lemonade-change",
"link": "lemonade-change/",
"video": "mSVAw0AUZgA",
"neetcode250": true
},
{
"name": "Minimum Number of Moves to Seat Everyone",
"pattern": "Greedy",
"difficulty": "Easy",
"code": "2037-minimum-number-of-moves-to-seat-everyone",
"link": "minimum-number-of-moves-to-seat-everyone/",
"video": "wS7Ag33hf8E",
"neetcode250": true
},
{
"name": "Maximum Odd Binary Number",
"pattern": "Greedy",
"difficulty": "Easy",
"code": "2864-maximum-odd-binary-number",
"link": "maximum-odd-binary-number/",
"video": "EUKLOAv4-IQ"
},
{
"name": "Maximum Nesting Depth of the Parentheses",
"pattern": "Greedy",
"difficulty": "Easy",
"code": "1614-maximum-nesting-depth-of-the-parentheses",
"link": "maximum-nesting-depth-of-the-parentheses/",
"video": "FiQFJvCvWK4"
},
{
"name": "Check if One String Swap Can Make Strings Equal",
"pattern": "Greedy",
"difficulty": "Easy",
"code": "1790-check-if-one-string-swap-can-make-strings-equal",
"link": "check-if-one-string-swap-can-make-strings-equal/",
"video": "-N4_SJ9hUdY"
},
{
"name": "How Many Apples Can You Put into the Basket",
"pattern": "Greedy",
"difficulty": "Easy",
"code": "1196-how-many-apples-can-you-put-into-the-basket",
"link": "how-many-apples-can-you-put-into-the-basket/"
},
{
"name": "Minimum Operations to Make Binary Array Elements Equal to One I",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "3191-minimum-operations-to-make-binary-array-elements-equal-to-one-i",
"link": "minimum-operations-to-make-binary-array-elements-equal-to-one-i/",
"video": "5dg_gAym75I"
},
{
"name": "Buildings With an Ocean View",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1762-buildings-with-an-ocean-view",
"link": "buildings-with-an-ocean-view/",
"video": "ntzA9LS8kLM"
},
{
"name": "Minimum Length of String After Operations",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "3223-minimum-length-of-string-after-operations",
"link": "minimum-length-of-string-after-operations/",
"video": "f-R9dqsI_FI"
},
{
"name": "Construct K Palindrome Strings",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1400-construct-k-palindrome-strings",
"link": "construct-k-palindrome-strings/",
"video": "D00qGvqmqN0"
},
{
"name": "Separate Black and White Balls",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "2938-separate-black-and-white-balls",
"link": "separate-black-and-white-balls/",
"video": "-VVN0FI0KFo"
},
{
"name": "Minimum Increment to Make Array Unique",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0945-minimum-increment-to-make-array-unique",
"link": "minimum-increment-to-make-array-unique/",
"video": "XPPs2Wj2YSk",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Maximum Subarray",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0053-maximum-subarray",
"link": "maximum-subarray/",
"video": "5WZl3MMT0Eg",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Maximum Absolute Sum of Any Subarray",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1749-maximum-absolute-sum-of-any-subarray",
"link": "maximum-absolute-sum-of-any-subarray/",
"video": "y1VEygeHpGU",
"neetcode250": true
},
{
"name": "Maximum Sum Circular Subarray",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0918-maximum-sum-circular-subarray",
"link": "maximum-sum-circular-subarray/",
"video": "fxT9KjakYPM",
"neetcode250": true
},
{
"name": "Minimum Swaps to Group All 1's Together II",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "2134-minimum-swaps-to-group-all-1s-together-ii",
"link": "minimum-swaps-to-group-all-1s-together-ii/",
"video": "BueoreUIkcE",
"neetcode250": true
},
{
"name": "Longest Turbulent Subarray",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0978-longest-turbulent-subarray",
"link": "longest-turbulent-subarray/",
"video": "V_iHUhR8Dek",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Jump Game",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0055-jump-game",
"link": "jump-game/",
"video": "Yan0cv2cLy8",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Jump Game II",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0045-jump-game-ii",
"link": "jump-game-ii/",
"video": "dJ7sWiOoK7g",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Jump Game VII",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1871-jump-game-vii",
"link": "jump-game-vii/",
"video": "v1HpZUnQ4Yo",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Gas Station",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0134-gas-station",
"link": "gas-station/",
"video": "lJwbPZGo05A",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Hand of Straights",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0846-hand-of-straights",
"link": "hand-of-straights/",
"video": "amnrMCVd2YI",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Minimum Number of Changes to Make Binary String Beautiful",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "2914-minimum-number-of-changes-to-make-binary-string-beautiful",
"link": "minimum-number-of-changes-to-make-binary-string-beautiful/",
"video": "qhxhrTA4HJw",
"neetcode250": true
},
{
"name": "Minimize Maximum of Array",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "2439-minimize-maximum-of-array",
"link": "minimize-maximum-of-array/",
"video": "AeHMvcKuR0Y"
},
{
"name": "Maximize Y-Sum by Picking a Triplet of Distinct X-Values",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "3572-maximize-ysum-by-picking-a-triplet-of-distinct-xvalues",
"link": "maximize-ysum-by-picking-a-triplet-of-distinct-xvalues/"
},
{
"name": "Minimum Difference Between Largest and Smallest Value in Three Moves",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1509-minimum-difference-between-largest-and-smallest-value-in-three-moves",
"link": "minimum-difference-between-largest-and-smallest-value-in-three-moves/",
"video": "S6cUjbQuTnE"
},
{
"name": "Maximum Total Importance of Roads",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "2285-maximum-total-importance-of-roads",
"link": "maximum-total-importance-of-roads/",
"video": "NIhXLEiQAPM"
},
{
"name": "Minimum Number of Pushes to Type Word II",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "3016-minimum-number-of-pushes-to-type-word-ii",
"link": "minimum-number-of-pushes-to-type-word-ii/",
"video": "gvaYi6X6SQw",
"neetcode250": true
},
{
"name": "Dota2 Senate",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0649-dota2-senate",
"link": "dota2-senate/",
"video": "zZA5KskfMuQ",
"neetcode250": true
},
{
"name": "Maximum Points You Can Obtain From Cards",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1423-maximum-points-you-can-obtain-from-cards",
"link": "maximum-points-you-can-obtain-from-cards/",
"video": "TsA4vbtfCvo",
"neetcode250": true
},
{
"name": "Merge Triplets to Form Target Triplet",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1899-merge-triplets-to-form-target-triplet",
"link": "merge-triplets-to-form-target-triplet/",
"video": "kShkQLQZ9K4",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Partition Labels",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0763-partition-labels",
"link": "partition-labels/",
"video": "B7m8UmZE-vw",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Valid Parenthesis String",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0678-valid-parenthesis-string",
"link": "valid-parenthesis-string/",
"video": "QhPdNS143Qg",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Check if a Parentheses String Can Be Valid",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "2116-check-if-a-parentheses-string-can-be-valid",
"link": "check-if-a-parentheses-string-can-be-valid/",
"video": "KMIIGDiXLhY"
},
{
"name": "Eliminate Maximum Number of Monsters",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1921-eliminate-maximum-number-of-monsters",
"link": "eliminate-maximum-number-of-monsters/",
"video": "6QQRayzOTD4"
},
{
"name": "Two City Scheduling",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1029-two-city-scheduling",
"link": "two-city-scheduling/",
"video": "d-B_gk_gJtQ"
},
{
"name": "Maximum Length of Pair Chain",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0646-maximum-length-of-pair-chain",
"link": "maximum-length-of-pair-chain/",
"video": "LcNNorqMVTw"
},
{
"name": "Best Sightseeing Pair",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1014-best-sightseeing-pair",
"link": "best-sightseeing-pair/",
"video": "YAYnMfHbjz4"
},
{
"name": "Make Lexicographically Smallest Array by Swapping Elements",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "2948-make-lexicographically-smallest-array-by-swapping-elements",
"link": "make-lexicographically-smallest-array-by-swapping-elements/",
"video": "-FGl6dzPexY"
},
{
"name": "Minimum Deletions to Make Character Frequencies Unique",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1647-minimum-deletions-to-make-character-frequencies-unique",
"link": "minimum-deletions-to-make-character-frequencies-unique/",
"video": "h8AZEN49gTc"
},
{
"name": "Minimum Deletions to Make String Balanced",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1653-minimum-deletions-to-make-string-balanced",
"link": "minimum-deletions-to-make-string-balanced/",
"video": "WDStNufBUQ8",
"neetcode250": true
},
{
"name": "Candy",
"pattern": "Greedy",
"difficulty": "Hard",
"code": "135-candy",
"link": "candy/",
"video": "1IzCRCcK17A",
"neetcode250": true
},
{
"name": "Remove Colored Pieces if Both Neighbors are the Same Color",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "2038-remove-colored-pieces-if-both-neighbors-are-the-same-color",
"link": "remove-colored-pieces-if-both-neighbors-are-the-same-color/",
"video": "T54GScWobZ4",
"neetcode250": true
},
{
"name": "Maximum Score From Removing Substrings",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1717-maximum-score-from-removing-substrings",
"link": "maximum-score-from-removing-substrings/",
"video": "r_3a0oG1VcY"
},
{
"name": "Maximum Element After Decreasing and Rearranging",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1846-maximum-element-after-decreasing-and-rearranging",
"link": "maximum-element-after-decreasing-and-rearranging/",
"video": "o_hVl8IXuIE"
},
{
"name": "Number of Laser Beams in a Bank",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "2125-number-of-laser-beams-in-a-bank",
"link": "number-of-laser-beams-in-a-bank/",
"video": "KLeKv59LAFY"
},
{
"name": "Reveal Cards In Increasing Order",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0950-reveal-cards-in-increasing-order",
"link": "reveal-cards-in-increasing-order/",
"video": "i2QrUdwWlak"
},
{
"name": "Construct String With Repeat Limit",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "2182-construct-string-with-repeat-limit",
"link": "construct-string-with-repeat-limit/",
"video": "Um9_VT78nfg"
},
{
"name": "Find Valid Matrix Given Row and Column Sums",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1605-find-valid-matrix-given-row-and-column-sums",
"link": "find-valid-matrix-given-row-and-column-sums/",
"video": "Ks6fGnXkHPg"
},
{
"name": "Score After Flipping Matrix",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0861-score-after-flipping-matrix",
"link": "score-after-flipping-matrix/",
"video": "FbhzRA5den8"
},
{
"name": "Flip Columns For Maximum Number of Equal Rows",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1072-flip-columns-for-maximum-number-of-equal-rows",
"link": "flip-columns-for-maximum-number-of-equal-rows/",
"video": "MsdLjL87BEo"
},
{
"name": "Maximum Matrix Sum",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1975-maximum-matrix-sum",
"link": "maximum-matrix-sum/",
"video": "XonYlqE049I"
},
{
"name": "Make Two Arrays Equal by Reversing Subarrays",
"pattern": "Greedy",
"difficulty": "Easy",
"code": "1460-make-two-arrays-equal-by-reversing-subarrays",
"link": "make-two-arrays-equal-by-reversing-subarrays/",
"video": "XJkd8HKGcQw"
},
{
"name": "Shortest Subarray to be Removed to Make Array Sorted",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1574-shortest-subarray-to-be-removed-to-make-array-sorted",
"link": "shortest-subarray-to-be-removed-to-make-array-sorted/",
"video": "eHZLQIH1ruk"
},
{
"name": "Max Chunks To Make Sorted",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0769-max-chunks-to-make-sorted",
"link": "max-chunks-to-make-sorted/",
"video": "wpHzXTkuVkY"
},
{
"name": "Next Permutation",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "0031-next-permutation",
"link": "next-permutation/"
},
{
"name": "Maximum Swap",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "670-maximum-swap",
"link": "maximum-swap/",
"video": "4FZtJ8420m8"
},
{
"name": "Maximal Score After Applying K Operations",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "2530-maximal-score-after-applying-k-operations",
"link": "maximal-score-after-applying-k-operations/",
"video": "fiEXkZLwXGQ"
},
{
"name": "Maximum Frequency After Subarray Operation",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "3434-maximum-frequency-after-subarray-operation",
"link": "maximum-frequency-after-subarray-operation/"
},
{
"name": "Put Boxes Into the Warehouse I",
"pattern": "Greedy",
"difficulty": "Medium",
"code": "1564-put-boxes-into-the-warehouse-i",
"link": "put-boxes-into-the-warehouse-i/"
},
{
"name": "Put Marbles in Bags",
"pattern": "Greedy",
"difficulty": "Hard",
"code": "2551-put-marbles-in-bags",
"link": "put-marbles-in-bags/",
"video": "lB_gLotpnuY"
},
{
"name": "Minimum Number of K Consecutive Bit Flips",
"pattern": "Greedy",
"difficulty": "Hard",
"code": "0995-minimum-number-of-k-consecutive-bit-flips",
"link": "minimum-number-of-k-consecutive-bit-flips/",
"video": "Fv3M9uO5ovU"
},
{
"name": "Maximum Score of a Good Subarray",
"pattern": "Greedy",
"difficulty": "Hard",
"code": "1793-maximum-score-of-a-good-subarray",
"link": "maximum-score-of-a-good-subarray/",
"video": "_K7oyQlAjv4"
},
{
"name": "Find the Maximum Sum of Node Values",
"pattern": "Greedy",
"difficulty": "Hard",
"code": "3068-find-the-maximum-sum-of-node-values",
"link": "find-the-maximum-sum-of-node-values/",
"video": "bnBp6_b4GCw"
},
{
"name": "Minimum Number of Increments on Subarrays to Form a Target Array",
"pattern": "Greedy",
"difficulty": "Hard",
"code": "1526-minimum-number-of-increments-on-subarrays-to-form-a-target-array",
"link": "minimum-number-of-increments-on-subarrays-to-form-a-target-array/",
"video": "84mt0YWJd1w"
},
{
"name": "Apply Operations to Maximize Score",
"pattern": "Greedy",
"difficulty": "Hard",
"code": "2818-apply-operations-to-maximize-score",
"link": "apply-operations-to-maximize-score/",
"video": "NH-Bkbmj7Sw"
}
],
"Intervals": [
{
"name": "Missing Ranges",
"pattern": "Intervals",
"difficulty": "Easy",
"code": "0163-missing-ranges",
"link": "missing-ranges/"
},
{
"name": "Remove Interval",
"pattern": "Intervals",
"difficulty": "Medium",
"code": "1272-remove-interval",
"link": "remove-interval/"
},
{
"name": "Add Bold Tag in String",
"pattern": "Intervals",
"difficulty": "Medium",
"code": "0616-add-bold-tag-in-string",
"link": "add-bold-tag-in-string/"
},
{
"name": "Insert Interval",
"pattern": "Intervals",
"difficulty": "Medium",
"code": "0057-insert-interval",
"link": "insert-interval/",
"video": "A8NUOmlwOlM",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Merge Intervals",
"pattern": "Intervals",
"difficulty": "Medium",
"code": "0056-merge-intervals",
"link": "merge-intervals/",
"video": "44H3cEC2fFM",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Non Overlapping Intervals",
"pattern": "Intervals",
"difficulty": "Medium",
"code": "0435-non-overlapping-intervals",
"link": "non-overlapping-intervals/",
"video": "nONCGxWoUfM",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Interval List Intersections",
"pattern": "Intervals",
"difficulty": "Medium",
"code": "0986-interval-list-intersections",
"link": "interval-list-intersections/",
"neetcode150": true,
"blind75": true
},
{
"name": "Meeting Rooms",
"pattern": "Intervals",
"difficulty": "Easy",
"code": "0252-meeting-rooms",
"link": "meeting-rooms/",
"video": "PaJxqZVPhbg",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Meeting Rooms II",
"pattern": "Intervals",
"difficulty": "Medium",
"code": "0253-meeting-rooms-ii",
"link": "meeting-rooms-ii/",
"video": "FdzJmTCVyJU",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Meeting Rooms III",
"pattern": "Intervals",
"difficulty": "Hard",
"code": "2402-meeting-rooms-iii",
"link": "meeting-rooms-iii/",
"video": "2VLwjvODQbA",
"neetcode250": true
},
{
"name": "Divide Intervals Into Minimum Number of Groups",
"pattern": "Intervals",
"difficulty": "Medium",
"code": "2406-divide-intervals-into-minimum-number-of-groups",
"link": "divide-intervals-into-minimum-number-of-groups/",
"video": "FVjKrhdMutc",
"neetcode250": true
},
{
"name": "Remove Covered Intervals",
"pattern": "Intervals",
"difficulty": "Medium",
"code": "1288-remove-covered-intervals",
"link": "remove-covered-intervals/",
"video": "nhAsMabiVkM"
},
{
"name": "Minimum Number of Arrows to Burst Balloons",
"pattern": "Intervals",
"difficulty": "Medium",
"code": "0452-minimum-number-of-arrows-to-burst-balloons",
"link": "minimum-number-of-arrows-to-burst-balloons/",
"video": "lPmkKnvNPrw"
},
{
"name": "The Number of the Smallest Unoccupied Chair",
"pattern": "Intervals",
"difficulty": "Medium",
"code": "1942-the-number-of-the-smallest-unoccupied-chair",
"link": "the-number-of-the-smallest-unoccupied-chair/",
"video": "LqhxcaCctCc"
},
{
"name": "Check if Grid can be Cut into Sections",
"pattern": "Intervals",
"difficulty": "Medium",
"code": "3394-check-if-grid-can-be-cut-into-sections",
"link": "check-if-grid-can-be-cut-into-sections/",
"video": "X9QtxzsAsYo"
},
{
"name": "My Calendar I",
"pattern": "Intervals",
"difficulty": "Medium",
"code": "0729-my-calendar-i",
"link": "my-calendar-i/",
"video": "fIxck3tlId4"
},
{
"name": "My Calendar II",
"pattern": "Intervals",
"difficulty": "Medium",
"code": "0731-my-calendar-ii",
"link": "my-calendar-ii/",
"video": "7utL5cTDcnA"
},
{
"name": "Count Days Without Meetings",
"pattern": "Intervals",
"difficulty": "Medium",
"code": "3169-count-days-without-meetings",
"link": "count-days-without-meetings/",
"video": "VFYTULYpApM"
},
{
"name": "Minimum Interval to Include Each Query",
"pattern": "Intervals",
"difficulty": "Hard",
"code": "1851-minimum-interval-to-include-each-query",
"link": "minimum-interval-to-include-each-query/",
"video": "5hQ5WWW5awQ",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Data Stream as Disjoint Intervals",
"pattern": "Intervals",
"difficulty": "Hard",
"code": "0352-data-stream-as-disjoint-intervals",
"link": "data-stream-as-disjoint-intervals/",
"video": "FavoZjPIWpo"
},
{
"name": "Employee Free Time",
"pattern": "Intervals",
"difficulty": "Hard",
"code": "0759-employee-free-time",
"link": "employee-free-time/"
}
],
"Math & Geometry": [
{
"name": "Excel Sheet Column Title",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "0168-excel-sheet-column-title",
"link": "excel-sheet-column-title/",
"video": "X_vJDpCCuoA",
"neetcode250": true
},
{
"name": "Greatest Common Divisor of Strings",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "1071-greatest-common-divisor-of-strings",
"link": "greatest-common-divisor-of-strings/",
"video": "i5I_wrbUdzM",
"neetcode250": true
},
{
"name": "Insert Greatest Common Divisors in Linked List",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "2807-insert-greatest-common-divisors-in-linked-list",
"link": "insert-greatest-common-divisors-in-linked-list/",
"video": "SS_IlBrocYQ",
"neetcode250": true
},
{
"name": "Count Odd Numbers in an Interval Range",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "1523-count-odd-numbers-in-an-interval-range",
"link": "count-odd-numbers-in-an-interval-range/",
"video": "wrIWye928JQ"
},
{
"name": "Matrix Diagonal Sum",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "1572-matrix-diagonal-sum",
"link": "matrix-diagonal-sum/",
"video": "WliTu6gIK7o"
},
{
"name": "Calculate Money in Leetcode Bank",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "1716-calculate-money-in-leetcode-bank",
"link": "calculate-money-in-leetcode-bank/",
"video": "tKK7gvPCQfs"
},
{
"name": "Largest Odd Number in String",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "1903-largest-odd-number-in-string",
"link": "largest-odd-number-in-string/",
"video": "svuPjFAUeDE",
"neetcode250": true
},
{
"name": "Transpose Matrix",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "0867-transpose-matrix",
"link": "transpose-matrix/",
"video": "DzMT3bDgVn0",
"neetcode250": true
},
{
"name": "Image Smoother",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "0661-image-smoother",
"link": "image-smoother/",
"video": "xa83GG1RIOY",
"neetcode250": true
},
{
"name": "Count of Matches in Tournament",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "1688-count-of-matches-in-tournament",
"link": "count-of-matches-in-tournament/",
"video": "lslcc0tumpU"
},
{
"name": "Water Bottles",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "1518-water-bottles",
"link": "water-bottles/",
"video": "V4d6xym5efE"
},
{
"name": "Largest Local Values in a Matrix",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "2373-largest-local-values-in-a-matrix",
"link": "largest-local-values-in-a-matrix/",
"video": "wdTRu9sarFA"
},
{
"name": "Power of Four",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "0342-power-of-four",
"link": "power-of-four/",
"video": "qEYZPwnlM0U"
},
{
"name": "Lucky Numbers in a Matrix",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "1380-lucky-numbers-in-a-matrix",
"link": "lucky-numbers-in-a-matrix/",
"video": "ceuQgACqr78"
},
{
"name": "Armstrong Number",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "1134-armstrong-number",
"link": "armstrong-number/"
},
{
"name": "Count Substrings with Only One Distinct Letter",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "1180-count-substrings-with-only-one-distinct-letter",
"link": "count-substrings-with-only-one-distinct-letter/"
},
{
"name": "Guess the Majority in a Hidden Array",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "1538-guess-the-majority-in-a-hidden-array",
"link": "guess-the-majority-in-a-hidden-array/"
},
{
"name": "Maximum Number of Ones",
"pattern": "Math & Geometry",
"difficulty": "Hard",
"code": "1183-maximum-number-of-ones",
"link": "maximum-number-of-ones/"
},
{
"name": "Maximum Points on a Line",
"pattern": "Math & Geometry",
"difficulty": "Hard",
"code": "0149-max-points-on-a-line",
"link": "max-points-on-a-line/",
"video": "Bb9lOXUOnFw"
},
{
"name": "Magic Squares In Grid",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0840-magic-squares-in-grid",
"link": "magic-squares-in-grid/",
"video": "FV52wWrivNc",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Rotate Image",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0048-rotate-image",
"link": "rotate-image/",
"video": "fMSJSS7eO1w",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Spiral Matrix",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0054-spiral-matrix",
"link": "spiral-matrix/",
"video": "BJnMZNwUk1M",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Spiral Matrix II",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0059-spiral-matrix-ii",
"link": "spiral-matrix-ii/",
"video": "RvLrWFBJ9fM",
"neetcode250": true
},
{
"name": "Spiral Matrix III",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0885-spiral-matrix-iii",
"link": "spiral-matrix-iii/",
"video": "Xf5Zm5Y8PKM"
},
{
"name": "Spiral Matrix IV",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "2326-spiral-matrix-iv",
"link": "spiral-matrix-iv/",
"video": "sOV1nRhmsMQ",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Set Matrix Zeroes",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0073-set-matrix-zeroes",
"link": "set-matrix-zeroes/",
"video": "T41rL0L3Pnw",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Happy Number",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "0202-happy-number",
"link": "happy-number/",
"video": "ljz85bxOYJ0",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Plus One",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "0066-plus-one",
"link": "plus-one/",
"video": "jIaA8boiG1s",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Palindrome Number",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "0009-palindrome-number",
"link": "palindrome-number/",
"video": "yubRKwixN-U",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Ugly Number",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "0263-ugly-number",
"link": "ugly-number/",
"video": "M0Zay1Qr9ws"
},
{
"name": "Convert 1D Array Into 2D Array",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "2022-convert-1d-array-into-2d-array",
"link": "convert-1d-array-into-2d-array/",
"video": "l-VLzZ2riTc"
},
{
"name": "Shift 2D Grid",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "1260-shift-2d-grid",
"link": "shift-2d-grid/",
"video": "nJYFh4Dl-as",
"neetcode250": true
},
{
"name": "Roman to Integer",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "0013-roman-to-integer",
"link": "roman-to-integer/",
"video": "3jdxYj3DD98",
"neetcode250": true
},
{
"name": "Integer to Roman",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0012-integer-to-roman",
"link": "integer-to-roman/",
"video": "ohBNdSJyLh8",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Pow(x, n)",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0050-powx-n",
"link": "powx-n/",
"video": "g9YQyYi4IQQ",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Find the Punishment Number of an Integer",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "2698-find-the-punishment-number-of-an-integer",
"link": "find-the-punishment-number-of-an-integer/",
"video": "LWgksJP-5SA",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Check if Number is a Sum of Powers of Three",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "1780-check-if-number-is-a-sum-of-powers-of-three",
"link": "check-if-number-is-a-sum-of-powers-of-three/",
"video": "99ExTh_0Ycg",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Multiply Strings",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0043-multiply-strings",
"link": "multiply-strings/",
"video": "1vZswirL8Y8",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Detect Squares",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "2013-detect-squares",
"link": "detect-squares/",
"video": "bahebearrDc",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Robot Bounded In Circle",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "1041-robot-bounded-in-circle",
"link": "robot-bounded-in-circle/",
"video": "nKv2LnC_g6E",
"neetcode250": true
},
{
"name": "Walking Robot Simulation",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0874-walking-robot-simulation",
"link": "walking-robot-simulation/",
"video": "wpglWC6mnLg"
},
{
"name": "Zigzag Conversion",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0006-zigzag-conversion",
"link": "zigzag-conversion/",
"video": "Q2Tw6gcVEwc"
},
{
"name": "Rotating the Box",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "1861-rotating-the-box",
"link": "rotating-the-box/",
"video": "LZr1w0LVzFw"
},
{
"name": "Sum of Square Numbers",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0633-sum-of-square-numbers",
"link": "sum-of-square-numbers/",
"video": "B0UrG_X2faA"
},
{
"name": "Find Missing Observations",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "2028-find-missing-observations",
"link": "find-missing-observations/",
"video": "86yKkaNi3sU"
},
{
"name": "Minimum Time Difference",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0539-minimum-time-difference",
"link": "minimum-time-difference/",
"video": "LVBDzeUmNIQ"
},
{
"name": "Minimum Operations to Make a Uni-Value Grid",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "2033-minimum-operations-to-make-a-uni-value-grid",
"link": "minimum-operations-to-make-a-uni-value-grid/",
"video": "2LfVNDlx8mY"
},
{
"name": "Largest Submatrix With Rearrangements",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "1727-largest-submatrix-with-rearrangements",
"link": "largest-submatrix-with-rearrangements/",
"video": "NYyIVuSCfOA"
},
{
"name": "Wildest Vertical Area Between Two Points Containing No Points",
"pattern": "Math & Geometry",
"difficulty": "Easy",
"code": "1637-widest-vertical-area-between-two-points-containing-no-points",
"link": "widest-vertical-area-between-two-points-containing-no-points/",
"video": "6XnvNCTyJP4"
},
{
"name": "Tuple with Same Product",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "1726-tuple-with-same-product",
"link": "tuple-with-same-product/",
"video": "SSwvMoOhiq0"
},
{
"name": "Lexicographical Numbers",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0386-lexicographical-numbers",
"link": "lexicographical-numbers/",
"video": "QihtII-FvLo"
},
{
"name": "Find the Winner of the Circular Game",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "1823-find-the-winner-of-the-circular-game",
"link": "find-the-winner-of-the-circular-game/",
"video": "PBBQgW_75e0"
},
{
"name": "Count Total Number of Colored Cells",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "2579-count-total-number-of-colored-cells",
"link": "count-total-number-of-colored-cells/",
"video": "Ajg7LRTBo6U"
},
{
"name": "Prime Subtraction Operation",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "2601-prime-subtraction-operation",
"link": "prime-subtraction-operation/",
"video": "G9cp9y45qEs"
},
{
"name": "Closest Prime Numbers in Range",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "2523-closest-prime-numbers-in-range",
"link": "closest-prime-numbers-in-range/",
"video": "lcdO8gSWZHw"
},
{
"name": "Count Primes",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0204-count-primes",
"link": "count-primes/"
},
{
"name": "Distribute Candies Among Children II",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "2929-distribute-candies-among-children-ii",
"link": "distribute-candies-among-children-ii/"
},
{
"name": "Line Reflection",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0356-line-reflection",
"link": "line-reflection/"
},
{
"name": "Minimum Factorization",
"pattern": "Math & Geometry",
"difficulty": "Medium",
"code": "0625-minimum-factorization",
"link": "minimum-factorization/"
},
{
"name": "Minimum Number of One Bit Operations to Make Integers Zero",
"pattern": "Math & Geometry",
"difficulty": "Hard",
"code": "1611-minimum-one-bit-operations-to-make-integers-zero",
"link": "minimum-one-bit-operations-to-make-integers-zero/",
"video": "yRI18_MaG7k"
},
{
"name": "K-th Smallest in Lexicographical Order",
"pattern": "Math & Geometry",
"difficulty": "Hard",
"code": "0440-k-th-smallest-in-lexicographical-order",
"link": "k-th-smallest-in-lexicographical-order/",
"video": "wRubz1zhVqk"
},
{
"name": "Integer to English Words",
"pattern": "Math & Geometry",
"difficulty": "Hard",
"code": "0273-integer-to-english-words",
"link": "integer-to-english-words/",
"video": "SCtIlKd3mDM"
},
{
"name": "Best Meeting Point",
"pattern": "Math & Geometry",
"difficulty": "Hard",
"code": "0296-best-meeting-point",
"link": "best-meeting-point/",
"neetcode150": true
}
],
"Bit Manipulation": [
{
"name": "Single Number",
"pattern": "Bit Manipulation",
"difficulty": "Easy",
"code": "0136-single-number",
"link": "single-number/",
"video": "qMPX1AOa83k",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Count Triplets with Even XOR Set Bits I",
"pattern": "Bit Manipulation",
"difficulty": "Easy",
"code": "3199-count-triplets-with-even-xor-set-bits-i",
"link": "count-triplets-with-even-xor-set-bits-i/",
"neetcode250": true
},
{
"name": "Single Number III",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "0260-single-number-iii",
"link": "single-number-iii/",
"video": "faoVORjd-T8",
"neetcode150": true
},
{
"name": "Number of 1 Bits",
"pattern": "Bit Manipulation",
"difficulty": "Easy",
"code": "0191-number-of-1-bits",
"link": "number-of-1-bits/",
"video": "5Km3utixwZs",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Counting Bits",
"pattern": "Bit Manipulation",
"difficulty": "Easy",
"code": "0338-counting-bits",
"link": "counting-bits/",
"video": "RyBM56RIWrM",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Add Binary",
"pattern": "Bit Manipulation",
"difficulty": "Easy",
"code": "0067-add-binary",
"link": "add-binary/",
"video": "keuWJ47xG8g",
"neetcode250": true
},
{
"name": "Minimum Bit Flips to Convert Number",
"pattern": "Bit Manipulation",
"difficulty": "Easy",
"code": "2220-minimum-bit-flips-to-convert-number",
"link": "minimum-bit-flips-to-convert-number/",
"video": "yz48myznqQY",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Reverse Bits",
"pattern": "Bit Manipulation",
"difficulty": "Easy",
"code": "0190-reverse-bits",
"link": "reverse-bits/",
"video": "UcoN6UjAI64",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Missing Number",
"pattern": "Bit Manipulation",
"difficulty": "Easy",
"code": "0268-missing-number",
"link": "missing-number/",
"video": "WnPLSRLSANE",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Shuffle the Array",
"pattern": "Bit Manipulation",
"difficulty": "Easy",
"code": "1470-shuffle-the-array",
"link": "shuffle-the-array/",
"video": "IvIKD_EU8BY",
"neetcode250": true
},
{
"name": "Add to Array-Form of Integer",
"pattern": "Bit Manipulation",
"difficulty": "Easy",
"code": "0989-add-to-array-form-of-integer",
"link": "add-to-array-form-of-integer/",
"video": "eBTZQt1TWfk"
},
{
"name": "Find the Difference",
"pattern": "Bit Manipulation",
"difficulty": "Easy",
"code": "0389-find-the-difference",
"link": "find-the-difference/",
"video": "oFmv4N4z00c"
},
{
"name": "Power of Two",
"pattern": "Bit Manipulation",
"difficulty": "Easy",
"code": "0231-power-of-two",
"link": "power-of-two/",
"video": "H2bjttEV4Vc",
"neetcode150": true
},
{
"name": "Sum of Two Integers",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "0371-sum-of-two-integers",
"link": "sum-of-two-integers/",
"video": "gVUrDV4tZfY",
"neetcode150": true,
"blind75": true,
"neetcode250": true
},
{
"name": "Reverse Integer",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "0007-reverse-integer",
"link": "reverse-integer/",
"video": "HAgLH58IgJQ",
"neetcode150": true,
"neetcode250": true
},
{
"name": "Bitwise XOR of All Pairings",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "2425-bitwise-xor-of-all-pairings",
"link": "bitwise-xor-of-all-pairings/",
"video": "H9zVwDf6Frk",
"neetcode250": true
},
{
"name": "Largest Combination With Bitwise AND Greater Than Zero",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "2275-largest-combination-with-bitwise-and-greater-than-zero",
"link": "largest-combination-with-bitwise-and-greater-than-zero/",
"video": "rUYfBldVqLY"
},
{
"name": "XOR Queries of a Subarray",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "1310-xor-queries-of-a-subarray",
"link": "xor-queries-of-a-subarray/",
"video": "1Q4lxfSlbPs"
},
{
"name": "Maximum XOR for Each Query",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "1829-maximum-xor-for-each-query",
"link": "maximum-xor-for-each-query/",
"video": "FlSS5reeFyE"
},
{
"name": "Neighboring Bitwise XOR",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "2633-neighboring-bitwise-xor",
"link": "neighboring-bitwise-xor/",
"video": "d2ntGf2tSDI"
},
{
"name": "Shortest Subarray With OR at Least K II",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "3097-shortest-subarray-with-or-at-least-k-ii",
"link": "shortest-subarray-with-or-at-least-k-ii/",
"video": "Bq_BEsgBQOs"
},
{
"name": "Bitwise AND of Numbers Range",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "0201-bitwise-and-of-numbers-range",
"link": "bitwise-and-of-numbers-range/",
"video": "R3T0olAhUq0",
"neetcode250": true
},
{
"name": "Find Kth Bit in Nth Binary String",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "1545-find-kth-bit-in-nth-binary-string",
"link": "find-kth-bit-in-nth-binary-string/",
"video": "h9DOEqeb_ZA"
},
{
"name": "Count Triplets That Can Form Two Arrays of Equal XOR",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "1442-count-triplets-that-can-form-two-arrays-of-equal-xor",
"link": "count-triplets-that-can-form-two-arrays-of-equal-xor/",
"video": "e4Yx9KjqzQ8",
"neetcode250": true
},
{
"name": "Minimum Array End",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "3133-minimum-array-end",
"link": "minimum-array-end/",
"video": "4pP-0UpEok4",
"neetcode250": true
},
{
"name": "Find if Array Can Be Sorted",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "3011-find-if-array-can-be-sorted",
"link": "find-if-array-can-be-sorted/",
"video": "OpOPUeGFjxE",
"neetcode250": true
},
{
"name": "Longest Subarray With Maximum Bitwise AND",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "2419-longest-subarray-with-maximum-bitwise-and",
"link": "longest-subarray-with-maximum-bitwise-and/",
"video": "N8lRlRWA_1Q"
},
{
"name": "Longest Nice Subarray",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "2401-longest-nice-subarray",
"link": "longest-nice-subarray/",
"video": "pcUmxsvTmP0"
},
{
"name": "Find the Longest Substring Containing Vowels in Even Counts",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "1371-find-the-longest-substring-containing-vowels-in-even-counts",
"link": "find-the-longest-substring-containing-vowels-in-even-counts/",
"video": "o17MBWparrI"
},
{
"name": "Minimize XOR",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "2429-minimize-xor",
"link": "minimize-xor/",
"video": "xhD78PX8Nss"
},
{
"name": "IP to CIDR",
"pattern": "Bit Manipulation",
"difficulty": "Medium",
"code": "0751-ip-to-cidr",
"link": "ip-to-cidr/"
}
],
"JavaScript": [
{
"name": "Create Hello World Function",
"pattern": "JavaScript",
"difficulty": "Easy",
"code": "2667-create-hello-world-function",
"link": "create-hello-world-function/",
"video": "P9Ldx1eTlRc"
},
{
"name": "Counter",
"pattern": "JavaScript",
"difficulty": "Easy",
"code": "2620-counter",
"link": "counter/",
"video": "yEGQQAG5V68"
},
{
"name": "Counter II",
"pattern": "JavaScript",
"difficulty": "Easy",
"code": "2665-counter-ii",
"link": "counter-ii/",
"video": "UXNXKGFZD08"
},
{
"name": "Apply Transform over each Element in Array",
"pattern": "JavaScript",
"difficulty": "Easy",
"code": "2635-apply-transform-over-each-element-in-array",
"link": "apply-transform-over-each-element-in-array/",
"video": "7FhJHA5jlYk"
},
{
"name": "Filter Elements from Array",
"pattern": "JavaScript",
"difficulty": "Easy",
"code": "2634-filter-elements-from-array",
"link": "filter-elements-from-array/",
"video": "w1o81gbEEJU"
},
{
"name": "Array Reduce Transformation",
"pattern": "JavaScript",
"difficulty": "Easy",
"code": "2626-array-reduce-transformation",
"link": "array-reduce-transformation/",
"video": "KmTbYfpGxdM"
},
{
"name": "Function Composition",
"pattern": "JavaScript",
"difficulty": "Easy",
"code": "2629-function-composition",
"link": "function-composition/",
"video": "mIFw1H7Ljco"
},
{
"name": "Allow One Function Call",
"pattern": "JavaScript",
"difficulty": "Easy",
"code": "2666-allow-one-function-call",
"link": "allow-one-function-call/",
"video": "m_SWhM9iX3s"
},
{
"name": "Memoize",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2623-memoize",
"link": "memoize/",
"video": "oFXyzJt9VeU"
},
{
"name": "Curry",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2632-curry",
"link": "curry/",
"video": "pi4kqMWQXxA"
},
{
"name": "Sleep",
"pattern": "JavaScript",
"difficulty": "Easy",
"code": "2621-sleep",
"link": "sleep/",
"video": "P0D9Z6H7O00"
},
{
"name": "Promise Time Limit",
"pattern": "JavaScript",
"difficulty": "Easy",
"code": "2637-promise-time-limit",
"link": "promise-time-limit/",
"video": "hfH57rdZhOk"
},
{
"name": "Promise Pool",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2636-promise-pool",
"link": "promise-pool/",
"video": "DB8pAAg-9xw"
},
{
"name": "Cache With Time Limit",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2622-cache-with-time-limit",
"link": "cache-with-time-limit/",
"video": "w772gtNK0Gw"
},
{
"name": "Debounce",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2627-debounce",
"link": "debounce/",
"video": "1sxSpnxNx5w"
},
{
"name": "Throttle",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2676-throttle",
"link": "throttle/",
"video": "zyGZV_fIQWk"
},
{
"name": "JSON Deep Equal",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2628-json-deep-equal",
"link": "json-deep-equal/",
"video": "4JVZ-mVqJPg"
},
{
"name": "Convert Object to JSON String",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2633-convert-object-to-json-string",
"link": "convert-object-to-json-string/",
"video": "f94fUbHU-FY"
},
{
"name": "Array of Objects to Matrix",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2675-array-of-objects-to-matrix",
"link": "array-of-objects-to-matrix/",
"video": "LJwgAMHGcI0"
},
{
"name": "Difference Between Two Objects",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2700-differences-between-two-objects",
"link": "differences-between-two-objects/",
"video": "gH7oZs1WZfg"
},
{
"name": "Chunk Array",
"pattern": "JavaScript",
"difficulty": "Easy",
"code": "2677-chunk-array",
"link": "chunk-array/",
"video": "VUN-O3B9ceY"
},
{
"name": "Flatten Deeply Nested Array",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2625-flatten-deeply-nested-array",
"link": "flatten-deeply-nested-array/",
"video": "_DetLPKtFNk"
},
{
"name": "Array Prototype Last",
"pattern": "JavaScript",
"difficulty": "Easy",
"code": "2619-array-prototype-last",
"link": "array-prototype-last/",
"video": "3JdtfMBrUqc"
},
{
"name": "Group By",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2631-group-by",
"link": "group-by/",
"video": "zs9axOyYHRE"
},
{
"name": "Check if Object Instance of Class",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2618-check-if-object-instance-of-class",
"link": "check-if-object-instance-of-class/",
"video": "meIo-Q07Ba8"
},
{
"name": "Call Function with Custom Context",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2693-call-function-with-custom-context",
"link": "call-function-with-custom-context/",
"video": "du_GH-Ooa8E"
},
{
"name": "Event Emitter",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2694-event-emitter",
"link": "event-emitter/",
"video": "M69bjWFarU0"
},
{
"name": "Array Wrapper",
"pattern": "JavaScript",
"difficulty": "Easy",
"code": "2695-array-wrapper",
"link": "array-wrapper/",
"video": "XoGjPdPTAVA"
},
{
"name": "Generate Fibonacci Sequence",
"pattern": "JavaScript",
"difficulty": "Easy",
"code": "2648-generate-fibonacci-sequence",
"link": "generate-fibonacci-sequence/",
"video": "T643rQ70Jlk"
},
{
"name": "Nested Array Generator",
"pattern": "JavaScript",
"difficulty": "Medium",
"code": "2649-nested-array-generator",
"link": "nested-array-generator/",
"video": "yo-J1jQaZYU"
}
]
},
"coursesByTopic": {
"Arrays & Hashing": [
{
"course": "Data Structures & Algorithms for Beginners",
"name": "Dynamic Arrays",
"routerLink": "/courses/dsa-for-beginners/3"
},
{
"course": "Data Structures & Algorithms for Beginners",
"name": "Hash Usage",
"routerLink": "/courses/dsa-for-beginners/26"
},
{
"course": "Data Structures & Algorithms for Beginners",
"name": "Hash Implementation",
"routerLink": "/courses/dsa-for-beginners/27"
},
{
"course": "Advanced Algorithms",
"name": "Prefix Sums",
"routerLink": "/courses/advanced-algorithms/4"
}
],
"Two Pointers": [
{
"course": "Advanced Algorithms",
"name": "Two Pointers",
"routerLink": "/courses/advanced-algorithms/3"
}
],
"Binary Search": [
{
"course": "Data Structures & Algorithms for Beginners",
"name": "Search Array",
"routerLink": "/courses/dsa-for-beginners/14"
},
{
"course": "Data Structures & Algorithms for Beginners",
"name": "Search Range",
"routerLink": "/courses/dsa-for-beginners/15"
}
],
"Sliding Window": [
{
"course": "Advanced Algorithms",
"name": "Sliding Window Fixed Size",
"routerLink": "/courses/advanced-algorithms/1"
},
{
"course": "Advanced Algorithms",
"name": "Sliding Window Variable Size",
"routerLink": "/courses/advanced-algorithms/2"
}
],
"Linked List": [
{
"course": "Data Structures & Algorithms for Beginners",
"name": "Singly Linked Lists",
"routerLink": "/courses/dsa-for-beginners/5"
},
{
"course": "Data Structures & Algorithms for Beginners",
"name": "Doubly Linked Lists",
"routerLink": "/courses/dsa-for-beginners/6"
},
{
"course": "Advanced Algorithms",
"name": "Fast and Slow Pointers",
"routerLink": "/courses/advanced-algorithms/5"
}
],
"Heap / Priority Queue": [
{
"course": "Data Structures & Algorithms for Beginners",
"name": "Heap Properties",
"routerLink": "/courses/dsa-for-beginners/23"
},
{
"course": "Data Structures & Algorithms for Beginners",
"name": "Push and Pop",
"routerLink": "/courses/dsa-for-beginners/24"
},
{
"course": "Data Structures & Algorithms for Beginners",
"name": "Heapify",
"routerLink": "/courses/dsa-for-beginners/25"
},
{
"course": "Advanced Algorithms",
"name": "Two Heaps",
"routerLink": "/courses/advanced-algorithms/10"
}
],
"Advanced Graphs": [
{
"course": "Advanced Algorithms",
"name": "Dijkstra's",
"routerLink": "/courses/advanced-algorithms/14"
},
{
"course": "Advanced Algorithms",
"name": "Prim's",
"routerLink": "/courses/advanced-algorithms/15"
},
{
"course": "Advanced Algorithms",
"name": "Kruskal's",
"routerLink": "/courses/advanced-algorithms/16"
},
{
"course": "Advanced Algorithms",
"name": "Topological Sort",
"routerLink": "/courses/advanced-algorithms/17"
}
],
"1-D Dynamic Programming": [
{
"course": "Data Structures & Algorithms for Beginners",
"name": "1-Dimension DP",
"routerLink": "/courses/dsa-for-beginners/32"
},
{
"course": "Advanced Algorithms",
"name": "Palindromes",
"routerLink": "/courses/advanced-algorithms/21"
}
],
"2-D Dynamic Programming": [
{
"course": "Data Structures & Algorithms for Beginners",
"name": "2-Dimension DP",
"routerLink": "/courses/dsa-for-beginners/33"
},
{
"course": "Advanced Algorithms",
"name": "0 / 1 Knapsack",
"routerLink": "/courses/advanced-algorithms/18"
},
{
"course": "Advanced Algorithms",
"name": "Unbounded Knapsack",
"routerLink": "/courses/advanced-algorithms/19"
},
{
"course": "Advanced Algorithms",
"name": "LCS",
"routerLink": "/courses/advanced-algorithms/20"
}
],
"Bit Manipulation": [
{
"course": "Data Structures & Algorithms for Beginners",
"name": "Bit Operations",
"routerLink": "/courses/dsa-for-beginners/34"
}
]
},
"stats": {
"topics": 18,
"edges": 21,
"totalProblems": 965,
"neetcode150": 199
}
}