[
{
"neetcode150": true,
"blind75": true,
"problem": "Contains Duplicate",
"pattern": "Arrays & Hashing",
"link": "contains-duplicate/",
"video": "3OamzN90kPg",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0217-contains-duplicate",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"scala": true,
"dart": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Valid Anagram",
"pattern": "Arrays & Hashing",
"link": "valid-anagram/",
"video": "9UtInBqnCgA",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0242-valid-anagram",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"scala": true,
"dart": true
},
{
"problem": "Concatenation of Array",
"pattern": "Arrays & Hashing",
"link": "concatenation-of-array/",
"video": "68isPRHgcFQ",
"difficulty": "Easy",
"code": "1929-concatenation-of-array",
"python": true,
"cpp": true,
"java": true,
"javascript": true,
"kotlin": true,
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"rust": true,
"scala": true,
"dart": true
},
{
"problem": "Replace Elements With Greatest Element On Right Side",
"pattern": "Arrays & Hashing",
"link": "replace-elements-with-greatest-element-on-right-side/",
"video": "ZHjKhUjcsaU",
"difficulty": "Easy",
"code": "1299-replace-elements-with-greatest-element-on-right-side",
"c": true,
"cpp": true,
"csharp": true,
"java": true,
"python": true,
"javascript": true,
"typescript": true,
"go": true,
"rust": true,
"dart": true,
"kotlin": true,
"swift": true
},
{
"problem": "Is Subsequence",
"pattern": "Arrays & Hashing",
"link": "is-subsequence/",
"video": "99RVfqklbCE",
"difficulty": "Easy",
"code": "0392-is-subsequence",
"c": true,
"cpp": true,
"csharp": true,
"java": true,
"python": true,
"javascript": true,
"typescript": true,
"go": true,
"rust": true,
"dart": true,
"kotlin": true,
"swift": true
},
{
"problem": "Length of Last Word",
"pattern": "Arrays & Hashing",
"link": "length-of-last-word/",
"video": "KT9rltZTybQ",
"difficulty": "Easy",
"code": "0058-length-of-last-word",
"c": true,
"cpp": true,
"csharp": true,
"java": true,
"python": true,
"javascript": true,
"typescript": true,
"rust": true,
"go": true,
"swift": true,
"dart": true,
"ruby": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Two Sum",
"pattern": "Arrays & Hashing",
"link": "two-sum/",
"video": "KLlXCFG5TnA",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0001-two-sum",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"scala": true,
"dart": true
},
{
"problem": "Longest Common Prefix",
"pattern": "Arrays & Hashing",
"link": "longest-common-prefix/",
"video": "0sWShKIJoo4",
"difficulty": "Easy",
"code": "0014-longest-common-prefix",
"cpp": true,
"python": true,
"javascript": true,
"c": true,
"csharp": true,
"java": true,
"typescript": true,
"go": true,
"rust": true,
"dart": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Group Anagrams",
"pattern": "Arrays & Hashing",
"link": "group-anagrams/",
"video": "vzdNOK2oB2E",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0049-group-anagrams",
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"dart": true,
"c": true,
"scala": true
},
{
"problem": "Pascals Triangle",
"pattern": "Arrays & Hashing",
"link": "pascals-triangle/",
"video": "nPVEaB3AjUM",
"difficulty": "Easy",
"code": "0118-pascals-triangle",
"c": true,
"cpp": true,
"java": true,
"python": true,
"javascript": true,
"typescript": true,
"rust": true,
"csharp": true,
"go": true,
"dart": true,
"kotlin": true
},
{
"problem": "Remove Element",
"pattern": "Arrays & Hashing",
"link": "remove-element/",
"video": "Pcd1ii9P9ZI",
"difficulty": "Easy",
"code": "0027-remove-element",
"c": true,
"java": true,
"python": true,
"javascript": true,
"typescript": true,
"go": true,
"cpp": true,
"csharp": true,
"swift": true,
"rust": true,
"dart": true,
"kotlin": true
},
{
"problem": "Unique Email Addresses",
"pattern": "Arrays & Hashing",
"link": "unique-email-addresses/",
"video": "TC_xLIWl7qY",
"difficulty": "Easy",
"code": "0929-unique-email-addresses",
"java": true,
"python": true,
"javascript": true,
"typescript": true,
"swift": true,
"cpp": true,
"csharp": true,
"go": true,
"rust": true,
"c": true,
"kotlin": true
},
{
"problem": "Isomorphic Strings",
"pattern": "Arrays & Hashing",
"link": "isomorphic-strings/",
"video": "7yF-U1hLEqQ",
"difficulty": "Easy",
"code": "0205-isomorphic-strings",
"c": true,
"java": true,
"python": true,
"javascript": true,
"typescript": true,
"swift": true,
"cpp": true,
"csharp": true,
"go": true,
"rust": true,
"kotlin": true
},
{
"problem": "Can Place Flowers",
"pattern": "Arrays & Hashing",
"link": "can-place-flowers/",
"video": "ZGxqqjljpUI",
"difficulty": "Easy",
"code": "0605-can-place-flowers",
"c": true,
"cpp": true,
"python": true,
"javascript": true,
"typescript": true,
"csharp": true,
"go": true,
"rust": true,
"java": true,
"kotlin": true,
"swift": true
},
{
"problem": "Majority Element",
"pattern": "Arrays & Hashing",
"link": "majority-element/",
"video": "7pnhv842keE",
"difficulty": "Easy",
"code": "0169-majority-element",
"c": true,
"cpp": true,
"python": true,
"javascript": true,
"typescript": true,
"swift": true,
"csharp": true,
"java": true,
"go": true,
"kotlin": true,
"rust": true
},
{
"problem": "Next Greater Element I",
"pattern": "Arrays & Hashing",
"link": "next-greater-element-i/",
"video": "68a1Dc_qVq4",
"difficulty": "Easy",
"code": "0496-next-greater-element-i",
"java": true,
"python": true,
"typescript": true,
"c": true,
"cpp": true,
"csharp": true,
"javascript": true,
"go": true,
"rust": true,
"kotlin": true
},
{
"problem": "Find Pivot Index",
"pattern": "Arrays & Hashing",
"link": "find-pivot-index/",
"video": "u89i60lYx8U",
"difficulty": "Easy",
"code": "0724-find-pivot-index",
"c": true,
"cpp": true,
"java": true,
"python": true,
"javascript": true,
"typescript": true,
"go": true,
"rust": true,
"csharp": true,
"kotlin": true,
"swift": true
},
{
"problem": "Range Sum Query - Immutable",
"pattern": "Arrays & Hashing",
"link": "range-sum-query-immutable/",
"video": "2pndAmo_sMA",
"difficulty": "Easy",
"code": "0303-range-sum-query-immutable",
"python": true,
"c": true,
"cpp": true,
"java": true,
"kotlin": true,
"csharp": true,
"javascript": true,
"rust": true
},
{
"problem": "Find All Numbers Disappeared in An Array",
"pattern": "Arrays & Hashing",
"link": "find-all-numbers-disappeared-in-an-array/",
"video": "8i-f24YFWC4",
"difficulty": "Easy",
"code": "0448-find-all-numbers-disappeared-in-an-array",
"cpp": true,
"java": true,
"python": true,
"javascript": true,
"c": true,
"typescript": true,
"go": true,
"rust": true,
"csharp": true,
"kotlin": true
},
{
"problem": "Maximum Number of Balloons",
"pattern": "Arrays & Hashing",
"link": "maximum-number-of-balloons/",
"video": "G9xeB2-7PqY",
"difficulty": "Easy",
"code": "1189-maximum-number-of-balloons",
"c": true,
"java": true,
"python": true,
"javascript": true,
"cpp": true,
"typescript": true,
"go": true,
"rust": true,
"csharp": true,
"kotlin": true
},
{
"problem": "Word Pattern",
"pattern": "Arrays & Hashing",
"link": "word-pattern/",
"video": "W_akoecmCbM",
"difficulty": "Easy",
"code": "0290-word-pattern",
"java": true,
"python": true,
"javascript": true,
"typescript": true,
"c": true,
"cpp": true,
"go": true,
"rust": true,
"csharp": true,
"kotlin": true
},
{
"problem": "Design HashSet",
"pattern": "Arrays & Hashing",
"link": "design-hashset/",
"video": "VymjPQUXjL8",
"difficulty": "Easy",
"code": "0705-design-hashset",
"kotlin": true,
"c": true,
"cpp": true,
"java": true,
"python": true,
"javascript": true,
"rust": true
},
{
"problem": "Design HashMap",
"pattern": "Arrays & Hashing",
"link": "design-hashmap/",
"video": "cNWsgbKwwoU",
"difficulty": "Easy",
"code": "0706-design-hashmap",
"python": true,
"c": true,
"cpp": true,
"java": true,
"javascript": true,
"kotlin": true,
"rust": true
},
{
"problem": "Sort an Array",
"pattern": "Arrays & Hashing",
"link": "sort-an-array/",
"video": "MsYZSinhuFo",
"difficulty": "Medium",
"code": "0912-sort-an-array",
"python": true,
"java": true,
"kotlin": true,
"cpp": true,
"csharp": true,
"javascript": true,
"go": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Top K Frequent Elements",
"pattern": "Arrays & Hashing",
"link": "top-k-frequent-elements/",
"video": "YPTqKIgVk-k",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0347-top-k-frequent-elements",
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"c": true,
"scala": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Product of Array Except Self",
"pattern": "Arrays & Hashing",
"link": "product-of-array-except-self/",
"video": "bNvIQI2wAjk",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0238-product-of-array-except-self",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Valid Sudoku",
"pattern": "Arrays & Hashing",
"link": "valid-sudoku/",
"video": "TjFXEUCMqI8",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0036-valid-sudoku",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"kotlin": true,
"rust": true,
"dart": true,
"scala": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Encode and Decode Strings",
"premium": true,
"freeLink": "https://www.lintcode.com/problem/659/",
"pattern": "Arrays & Hashing",
"link": "encode-and-decode-strings/",
"video": "B1k_sxOSgv8",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0271-encode-and-decode-strings",
"csharp": true,
"go": true,
"ruby": true,
"swift": true,
"rust": true,
"typescript": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Longest Consecutive Sequence",
"pattern": "Arrays & Hashing",
"link": "longest-consecutive-sequence/",
"video": "P6RZZMu_maU",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0128-longest-consecutive-sequence",
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"c": true
},
{
"problem": "Sort Colors",
"pattern": "Arrays & Hashing",
"link": "sort-colors/",
"video": "4xbWSRZHqac",
"difficulty": "Medium",
"code": "0075-sort-colors",
"c": true,
"java": true,
"javascript": true,
"go": true,
"kotlin": true,
"cpp": true,
"python": true,
"typescript": true,
"csharp": true,
"rust": true,
"swift": true
},
{
"problem": "Encode and Decode TinyURL",
"pattern": "Arrays & Hashing",
"link": "encode-and-decode-tinyurl/",
"video": "VyBOaboQLGc",
"difficulty": "Medium",
"code": "0535-encode-and-decode-tinyurl",
"javascript": true,
"cpp": true,
"python": true,
"typescript": true,
"go": true,
"rust": true,
"swift": true,
"kotlin": true,
"c": true,
"java": true
},
{
"problem": "Brick Wall",
"pattern": "Arrays & Hashing",
"link": "brick-wall/",
"video": "Kkmv2h48ekw",
"difficulty": "Medium",
"code": "0554-brick-wall",
"javascript": true,
"typescript": true,
"c": true,
"cpp": true,
"java": true,
"python": true,
"rust": true,
"kotlin": true
},
{
"problem": "Best Time to Buy And Sell Stock II",
"pattern": "Arrays & Hashing",
"link": "best-time-to-buy-and-sell-stock-ii/",
"video": "3SJ3pUkPQMc",
"difficulty": "Medium",
"code": "0122-best-time-to-buy-and-sell-stock-ii",
"c": true,
"javascript": true,
"go": true,
"cpp": true,
"java": true,
"python": true,
"kotlin": true,
"rust": true
},
{
"problem": "Subarray Sum Equals K",
"pattern": "Arrays & Hashing",
"link": "subarray-sum-equals-k/",
"video": "fFVZt-6sgyo",
"difficulty": "Medium",
"code": "0560-subarray-sum-equals-k",
"java": true,
"cpp": true,
"go": true,
"c": true,
"python": true,
"javascript": true,
"typescript": true,
"kotlin": true,
"rust": true,
"csharp": true
},
{
"problem": "Unique Length 3 Palindromic Subsequences",
"pattern": "Arrays & Hashing",
"link": "unique-length-3-palindromic-subsequences/",
"video": "3THUt0vAFLU",
"difficulty": "Medium",
"code": "1930-unique-length-3-palindromic-subsequences",
"cpp": true,
"java": true,
"kotlin": true,
"c": true,
"python": true,
"javascript": true,
"typescript": true,
"rust": true
},
{
"problem": "Minimum Number of Swaps to Make The String Balanced",
"pattern": "Arrays & Hashing",
"link": "minimum-number-of-swaps-to-make-the-string-balanced/",
"video": "3YDBT9ZrfaU",
"difficulty": "Medium",
"code": "1963-minimum-number-of-swaps-to-make-the-string-balanced",
"javascript": true,
"cpp": true,
"c": true,
"python": true,
"kotlin": true,
"java": true,
"rust": true
},
{
"problem": "Number of Pairs of Interchangeable Rectangles",
"pattern": "Arrays & Hashing",
"link": "number-of-pairs-of-interchangeable-rectangles/",
"video": "lEQ8ZlLOuyQ",
"difficulty": "Medium",
"code": "2001-number-of-pairs-of-interchangeable-rectangles",
"javascript": true,
"cpp": true,
"python": true,
"c": true,
"java": true,
"rust": true,
"kotlin": true
},
{
"problem": "Maximum Product of The Length of Two Palindromic Subsequences",
"pattern": "Arrays & Hashing",
"link": "maximum-product-of-the-length-of-two-palindromic-subsequences/",
"video": "aoHbYlO8vDg",
"difficulty": "Medium",
"code": "2002-maximum-product-of-the-length-of-two-palindromic-subsequences",
"cpp": true,
"c": true,
"csharp": true,
"java": true,
"python": true,
"javascript": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true
},
{
"problem": "Grid Game",
"pattern": "Arrays & Hashing",
"link": "grid-game/",
"video": "N4wDSOw65hI",
"difficulty": "Medium",
"code": "2017-grid-game",
"python": true,
"cpp": true,
"kotlin": true,
"java": true,
"javascript": true,
"rust": true
},
{
"problem": "Find All Anagrams in a String",
"pattern": "Arrays & Hashing",
"link": "find-all-anagrams-in-a-string/",
"video": "G8xtZy0fDKg",
"difficulty": "Medium",
"code": "0438-find-all-anagrams-in-a-string",
"cpp": true,
"csharp": true,
"python": true,
"java": true,
"javascript": true,
"go": true,
"kotlin": true,
"c": true
},
{
"problem": "Find The Index of The First Occurrence in a String",
"pattern": "Arrays & Hashing",
"link": "find-the-index-of-the-first-occurrence-in-a-string/",
"video": "JoF0Z7nVSrA",
"difficulty": "Easy",
"code": "0028-find-the-index-of-the-first-occurrence-in-a-string",
"python": true,
"cpp": true,
"go": true,
"c": true,
"java": true,
"kotlin": true,
"csharp": true,
"javascript": true
},
{
"problem": "Wiggle Sort",
"pattern": "Arrays & Hashing",
"premium": true,
"freeLink": "https://www.lintcode.com/problem/508/",
"link": "wiggle-sort/",
"video": "vGsyTE4s34w",
"difficulty": "Medium",
"code": "0280-wiggle-sort",
"cpp": true,
"python": true,
"kotlin": true
},
{
"problem": "Largest Number",
"pattern": "Arrays & Hashing",
"link": "largest-number/",
"video": "WDx6Y4i4xJ8",
"difficulty": "Medium",
"code": "0179-largest-number",
"typescript": true,
"cpp": true,
"java": true,
"kotlin": true,
"c": true,
"csharp": true,
"python": true,
"javascript": true,
"go": true,
"ruby": true,
"swift": true,
"rust": true,
"scala": true
},
{
"problem": "Continuous Subarray Sum",
"pattern": "Arrays & Hashing",
"link": "continuous-subarray-sum/",
"video": "OKcrLfR-8mE",
"difficulty": "Medium",
"code": "0523-continuous-subarray-sum",
"java": true,
"python": true,
"cpp": true,
"kotlin": true,
"c": true,
"javascript": true,
"rust": true
},
{
"problem": "Push Dominoes",
"pattern": "Arrays & Hashing",
"link": "push-dominoes/",
"video": "evUFsOb_iLY",
"difficulty": "Medium",
"code": "0838-push-dominoes",
"typescript": true,
"cpp": true,
"python": true,
"kotlin": true,
"java": true
},
{
"problem": "Repeated DNA Sequences",
"pattern": "Arrays & Hashing",
"link": "repeated-dna-sequences/",
"video": "FzTYfsmtOso",
"difficulty": "Medium",
"code": "0187-repeated-dna-sequences",
"java": true,
"typescript": true,
"cpp": true,
"kotlin": true,
"python": true,
"javascript": true
},
{
"problem": "Insert Delete Get Random O(1)",
"pattern": "Arrays & Hashing",
"link": "insert-delete-getrandom-o1/",
"video": "j4KwhBziOpg",
"difficulty": "Medium",
"code": "0380-insert-delete-getrandom-o1",
"java": true,
"typescript": true,
"javascript": true,
"go": true,
"cpp": true,
"swift": true,
"kotlin": true,
"python": true
},
{
"problem": "Check if a String Contains all Binary Codes of Size K",
"pattern": "Arrays & Hashing",
"link": "check-if-a-string-contains-all-binary-codes-of-size-k/",
"video": "qU32rTy_kOM",
"difficulty": "Medium",
"code": "1461-check-if-a-string-contains-all-binary-codes-of-size-k",
"cpp": true,
"kotlin": true,
"python": true,
"javascript": true
},
{
"problem": "Range Sum Query 2D Immutable",
"pattern": "Arrays & Hashing",
"link": "range-sum-query-2d-immutable/",
"video": "KE8MQuwE2yA",
"difficulty": "Medium",
"code": "0304-range-sum-query-2d-immutable",
"cpp": true,
"python": true,
"kotlin": true,
"javascript": true
},
{
"problem": "Non Decreasing Array",
"pattern": "Arrays & Hashing",
"link": "non-decreasing-array/",
"video": "RegQckCegDk",
"difficulty": "Medium",
"code": "0665-non-decreasing-array",
"cpp": true,
"java": true,
"javascript": true,
"typescript": true,
"go": true,
"scala": true,
"kotlin": true,
"python": true,
"csharp": true
},
{
"problem": "First Missing Positive",
"pattern": "Arrays & Hashing",
"link": "first-missing-positive/",
"video": "8g78yfzMlao",
"difficulty": "Hard",
"code": "0041-first-missing-positive",
"python": true,
"typescript": true,
"cpp": true,
"java": true,
"go": true,
"kotlin": true,
"c": true,
"javascript": true
},
{
"problem": "Sign of An Array",
"pattern": "Arrays & Hashing",
"link": "sign-of-the-product-of-an-array/",
"video": "ILDLM86jNow",
"difficulty": "Easy",
"code": "1822-sign-of-the-product-of-an-array",
"cpp": true,
"java": true,
"python": true,
"javascript": true,
"typescript": true,
"go": true,
"kotlin": true
},
{
"problem": "Find the Difference of Two Arrays",
"pattern": "Arrays & Hashing",
"link": "find-the-difference-of-two-arrays/",
"video": "a4wqKR-znBE",
"difficulty": "Easy",
"code": "2215-find-the-difference-of-two-arrays",
"kotlin": true,
"cpp": true,
"csharp": true,
"java": true,
"python": true,
"javascript": true,
"typescript": true
},
{
"problem": "Design Parking System",
"pattern": "Arrays & Hashing",
"link": "design-parking-system/",
"video": "d5zCHesOrSk",
"difficulty": "Easy",
"code": "1603-design-parking-system",
"kotlin": true,
"java": true,
"python": true,
"javascript": true
},
{
"problem": "Number of Zero-Filled Subarrays",
"pattern": "Arrays & Hashing",
"link": "number-of-zero-filled-subarrays/",
"video": "G-EWVGCcL_w",
"difficulty": "Medium",
"code": "2348-number-of-zero-filled-subarrays",
"kotlin": true,
"cpp": true,
"java": true,
"python": true
},
{
"problem": "Optimal Partition of String",
"pattern": "Arrays & Hashing",
"link": "optimal-partition-of-string/",
"video": "CKZPdiXiQf0",
"difficulty": "Medium",
"code": "2405-optimal-partition-of-string",
"kotlin": true,
"java": true
},
{
"problem": "Design Underground System",
"pattern": "Arrays & Hashing",
"link": "design-underground-system/",
"video": "W5QOLqXskZM",
"difficulty": "Medium",
"code": "1396-design-underground-system",
"kotlin": true,
"java": true,
"javascript": true
},
{
"problem": "Minimum Penalty for a Shop",
"pattern": "Arrays & Hashing",
"link": "minimum-penalty-for-a-shop/",
"video": "0d7ShRoOFVE",
"difficulty": "Medium",
"code": "2483-minimum-penalty-for-a-shop",
"cpp": true,
"java": true,
"kotlin": true
},
{
"problem": "Text Justification",
"pattern": "Arrays & Hashing",
"link": "text-justification/",
"video": "TzMl4Z7pVh8",
"difficulty": "Hard",
"code": "0068-naming-a-company",
"python": true,
"kotlin": true
},
{
"problem": "Naming a Company",
"pattern": "Arrays & Hashing",
"link": "naming-a-company/",
"video": "NrHpgTScOcY",
"difficulty": "Hard",
"code": "2306-naming-a-company",
"kotlin": true,
"java": true,
"javascript": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Valid Palindrome",
"pattern": "Two Pointers",
"link": "valid-palindrome/",
"video": "jJXJ16kPFWg",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0125-valid-palindrome",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"dart": true,
"scala": true
},
{
"problem": "Valid Palindrome II",
"pattern": "Two Pointers",
"link": "valid-palindrome-ii/",
"video": "JrxRYBwG6EI",
"difficulty": "Easy",
"code": "0680-valid-palindrome-ii",
"python": true,
"cpp": true,
"csharp": true,
"java": true,
"javascript": true,
"typescript": true,
"go": true,
"rust": true,
"c": true,
"kotlin": true
},
{
"problem": "Minimum Difference Between Highest And Lowest of K Scores",
"pattern": "Two Pointers",
"link": "minimum-difference-between-highest-and-lowest-of-k-scores/",
"video": "JU5XdBZZtlk",
"difficulty": "Easy",
"code": "1984-minimum-difference-between-highest-and-lowest-of-k-scores",
"javascript": true,
"cpp": true,
"python": true,
"typescript": true,
"go": true,
"rust": true,
"java": true,
"kotlin": true
},
{
"problem": "Merge Strings Alternately",
"pattern": "Two Pointers",
"link": "merge-strings-alternately/",
"video": "LECWOvTo-Sc",
"difficulty": "Easy",
"code": "1768-merge-strings-alternately",
"kotlin": true,
"cpp": true,
"java": true,
"python": true,
"javascript": true,
"typescript": true
},
{
"problem": "Reverse String",
"pattern": "Two Pointers",
"link": "reverse-string/",
"video": "_d0T_2Lk2qA",
"difficulty": "Easy",
"code": "0344-reverse-string",
"c": true,
"python": true,
"javascript": true,
"typescript": true,
"swift": true,
"cpp": true,
"java": true,
"go": true,
"rust": true,
"kotlin": true,
"dart": true
},
{
"problem": "Merge Sorted Array",
"pattern": "Two Pointers",
"link": "merge-sorted-array/",
"video": "P1Ic85RarKY",
"difficulty": "Easy",
"code": "0088-merge-sorted-array",
"c": true,
"java": true,
"javascript": true,
"cpp": true,
"python": true,
"typescript": true,
"go": true,
"rust": true,
"kotlin": true
},
{
"problem": "Move Zeroes",
"pattern": "Two Pointers",
"link": "move-zeroes/",
"video": "aayNRwUN3Do",
"difficulty": "Easy",
"code": "0283-move-zeroes",
"c": true,
"cpp": true,
"javascript": true,
"csharp": true,
"python": true,
"typescript": true,
"go": true,
"swift": true,
"rust": true,
"java": true,
"kotlin": true
},
{
"problem": "Remove Duplicates From Sorted Array",
"pattern": "Two Pointers",
"link": "remove-duplicates-from-sorted-array/",
"video": "DEJAZBq0FDA",
"difficulty": "Easy",
"code": "0026-remove-duplicates-from-sorted-array",
"python": true,
"javascript": true,
"go": true,
"cpp": true,
"typescript": true,
"swift": true,
"rust": true,
"java": true,
"kotlin": true,
"c": true
},
{
"problem": "Remove Duplicates From Sorted Array II",
"pattern": "Two Pointers",
"link": "remove-duplicates-from-sorted-array-ii/",
"video": "ycAq8iqh0TI",
"difficulty": "Medium",
"code": "0080-remove-duplicates-from-sorted-array-ii",
"python": true,
"kotlin": true,
"cpp": true,
"csharp": true,
"javascript": true,
"swift": true
},
{
"neetcode150": true,
"problem": "Two Sum II Input Array Is Sorted",
"pattern": "Two Pointers",
"link": "two-sum-ii-input-array-is-sorted/",
"video": "cQ1Oz4ckceM",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0167-two-sum-ii-input-array-is-sorted",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"scala": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "3Sum",
"pattern": "Two Pointers",
"link": "3sum/",
"video": "jzZsG8n2R9A",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0015-3sum",
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"scala": true,
"c": true
},
{
"problem": "4Sum",
"pattern": "Two Pointers",
"link": "4sum/",
"video": "EYeR-_1NRlQ",
"difficulty": "Medium",
"code": "0018-4sum",
"python": true,
"javascript": true,
"typescript": true,
"go": true,
"cpp": true,
"kotlin": true,
"java": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Container With Most Water",
"pattern": "Two Pointers",
"link": "container-with-most-water/",
"video": "UuiTKBwPgAo",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0011-container-with-most-water",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"scala": true,
"dart": true
},
{
"problem": "Number of Subsequences That Satisfy The Given Sum Condition",
"pattern": "Two Pointers",
"link": "number-of-subsequences-that-satisfy-the-given-sum-condition/",
"video": "xCsIkPLS4Ls",
"difficulty": "Medium",
"code": "1498-number-of-subsequences-that-satisfy-the-given-sum-condition",
"cpp": true,
"python": true,
"kotlin": true
},
{
"problem": "Rotate Array",
"pattern": "Two Pointers",
"link": "rotate-array/",
"video": "BHr381Guz3Y",
"difficulty": "Medium",
"code": "0189-rotate-array",
"cpp": true,
"java": true,
"python": true,
"typescript": true,
"go": true,
"kotlin": true,
"javascript": true
},
{
"problem": "Array With Elements Not Equal to Average of Neighbors",
"pattern": "Two Pointers",
"link": "array-with-elements-not-equal-to-average-of-neighbors/",
"video": "Wmb3YdVYfqM",
"difficulty": "Medium",
"code": "1968-array-with-elements-not-equal-to-average-of-neighbors",
"c": true,
"cpp": true,
"kotlin": true,
"python": true,
"javascript": true
},
{
"problem": "Boats to Save People",
"pattern": "Two Pointers",
"link": "boats-to-save-people/",
"video": "XbaxWuHIWUs",
"difficulty": "Medium",
"code": "0881-boats-to-save-people",
"c": true,
"cpp": true,
"typescript": true,
"javascript": true,
"python": true,
"kotlin": true,
"java": true,
"swift": true
},
{
"neetcode150": true,
"problem": "Trapping Rain Water",
"pattern": "Two Pointers",
"link": "trapping-rain-water/",
"video": "ZI2z5pq0TqA",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0042-trapping-rain-water",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Best Time to Buy And Sell Stock",
"pattern": "Sliding Window",
"link": "best-time-to-buy-and-sell-stock/",
"video": "1pkOgXD63yU",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0121-best-time-to-buy-and-sell-stock",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"scala": true
},
{
"problem": "Contains Duplicate II",
"pattern": "Sliding Window",
"link": "contains-duplicate-ii/",
"video": "ypn0aZ0nrL4",
"difficulty": "Easy",
"python": true,
"code": "0219-contains-duplicate-ii",
"cpp": true,
"java": true,
"javascript": true,
"kotlin": true,
"rust": true
},
{
"problem": "Number of Sub Arrays of Size K and Avg Greater than or Equal to Threshold",
"pattern": "Sliding Window",
"link": "number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold/",
"video": "D8B4tKxMTnY",
"difficulty": "Medium",
"python": true,
"code": "1343-number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold",
"cpp": true,
"javascript": true,
"kotlin": true,
"java": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Longest Substring Without Repeating Characters",
"pattern": "Sliding Window",
"link": "longest-substring-without-repeating-characters/",
"video": "wiGpQwVHdE0",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0003-longest-substring-without-repeating-characters",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"scala": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Longest Repeating Character Replacement",
"pattern": "Sliding Window",
"link": "longest-repeating-character-replacement/",
"video": "gqXU1UyA8pk",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0424-longest-repeating-character-replacement",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"kotlin": true,
"rust": true,
"swift": true
},
{
"neetcode150": true,
"problem": "Permutation In String",
"pattern": "Sliding Window",
"link": "permutation-in-string/",
"video": "UbyhOgBN834",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0567-permutation-in-string",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true
},
{
"problem": "Frequency of The Most Frequent Element",
"pattern": "Sliding Window",
"link": "frequency-of-the-most-frequent-element/",
"video": "vgBrQ0NM5vE",
"difficulty": "Medium",
"code": "1838-frequency-of-the-most-frequent-element",
"csharp": true,
"javascript": true,
"typescript": true,
"go": true,
"rust": true,
"c": true,
"cpp": true,
"kotlin": true,
"java": true,
"python": true
},
{
"problem": "Fruits into Basket",
"pattern": "Sliding Window",
"link": "fruit-into-baskets/",
"video": "yYtaV0G3mWQ",
"difficulty": "Medium",
"code": "0904-fruit-into-baskets",
"javascript": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true,
"python": true
},
{
"problem": "Maximum Number of Vowels in a Substring of Given Length",
"pattern": "Sliding Window",
"link": "maximum-number-of-vowels-in-a-substring-of-given-length/",
"video": "kEfPSzgL-Ss",
"difficulty": "Medium",
"code": "1456-maximum-number-of-vowels-in-a-substring-of-given-length",
"kotlin": true,
"cpp": true,
"java": true,
"python": true
},
{
"problem": "Minimum Number of Flips to Make The Binary String Alternating",
"pattern": "Sliding Window",
"link": "minimum-number-of-flips-to-make-the-binary-string-alternating/",
"video": "MOeuK6gaC2A",
"difficulty": "Medium",
"code": "1888-minimum-number-of-flips-to-make-the-binary-string-alternating",
"javascript": true,
"typescript": true,
"kotlin": true,
"python": true
},
{
"problem": "Minimum Size Subarray Sum",
"pattern": "Sliding Window",
"link": "minimum-size-subarray-sum/",
"video": "aYqYMIqZx5s",
"difficulty": "Medium",
"code": "0209-minimum-size-subarray-sum",
"c": true,
"cpp": true,
"javascript": true,
"go": true,
"java": true,
"kotlin": true,
"python": true
},
{
"problem": "Find K Closest Elements",
"pattern": "Sliding Window",
"link": "find-k-closest-elements/",
"video": "o-YDQzHoaKM",
"difficulty": "Medium",
"code": "0658-find-k-closest-elements",
"python": true,
"typescript": true,
"javascript": true,
"kotlin": true
},
{
"problem": "Minimum Operations to Reduce X to Zero",
"pattern": "Sliding Window",
"link": "minimum-operations-to-reduce-x-to-zero/",
"video": "xumn16n7njs",
"difficulty": "Medium",
"code": "1658-minimum-operations-to-reduce-x-to-zero",
"java": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Minimum Window Substring",
"pattern": "Sliding Window",
"link": "minimum-window-substring/",
"video": "jSto0O4AJbM",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0076-minimum-window-substring",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true,
"ruby": true,
"swift": true
},
{
"neetcode150": true,
"problem": "Sliding Window Maximum",
"pattern": "Sliding Window",
"link": "sliding-window-maximum/",
"video": "DfljaUwZsOk",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0239-sliding-window-maximum",
"csharp": true,
"go": true,
"kotlin": true,
"typescript": true,
"ruby": true,
"c": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Valid Parentheses",
"pattern": "Stack",
"link": "valid-parentheses/",
"video": "WTzjTskDFMg",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0020-valid-parentheses",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"dart": true
},
{
"problem": "Baseball Game",
"pattern": "Stack",
"link": "baseball-game/",
"video": "Id_tqGdsZQI",
"difficulty": "Easy",
"code": "0682-baseball-game",
"c": true,
"cpp": true,
"python": true,
"java": true,
"typescript": true,
"go": true,
"rust": true,
"kotlin": true,
"csharp": true,
"javascript": true,
"swift": true
},
{
"problem": "Implement Stack Using Queues",
"pattern": "Stack",
"link": "implement-stack-using-queues/",
"video": "rW4vm0-DLYc",
"difficulty": "Easy",
"code": "0225-implement-stack-using-queues",
"cpp": true,
"go": true,
"c": true,
"java": true,
"python": true,
"javascript": true,
"typescript": true,
"rust": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Min Stack",
"pattern": "Stack",
"link": "min-stack/",
"video": "qkLl7nAwDPo",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0155-min-stack",
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"kotlin": true,
"c": true,
"rust": true,
"swift": true
},
{
"neetcode150": true,
"problem": "Evaluate Reverse Polish Notation",
"pattern": "Stack",
"link": "evaluate-reverse-polish-notation/",
"video": "iu0082c4HDE",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0150-evaluate-reverse-polish-notation",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"problem": "Removing Stars From a String",
"pattern": "Stack",
"link": "removing-stars-from-a-string/",
"video": "pRyFZIaKegA",
"difficulty": "Medium",
"code": "2390-removing-stars-from-a-string",
"kotlin": true,
"java": true,
"python": true,
"javascript": true
},
{
"problem": "Validate Stack Sequences",
"pattern": "Stack",
"link": "validate-stack-sequences/",
"video": "mzua0r94kb8",
"difficulty": "Medium",
"code": "0946-validate-stack-sequences",
"kotlin": true,
"python": true
},
{
"neetcode150": true,
"problem": "Generate Parentheses",
"pattern": "Stack",
"link": "generate-parentheses/",
"video": "s9fokUqJ76A",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0022-generate-parentheses",
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"kotlin": true,
"c": true,
"rust": true,
"swift": true
},
{
"problem": "Asteroid Collision",
"pattern": "Stack",
"link": "asteroid-collision/",
"video": "LN7KjRszjk4",
"difficulty": "Medium",
"code": "0735-asteroid-collision",
"java": true,
"javascript": true,
"typescript": true,
"rust": true,
"python": true,
"cpp": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Daily Temperatures",
"pattern": "Stack",
"link": "daily-temperatures/",
"video": "cTBiBSnjO3c",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0739-daily-temperatures",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"problem": "Online Stock Span",
"pattern": "Stack",
"link": "online-stock-span/",
"video": "slYh0ZNEqSw",
"difficulty": "Medium",
"code": "0901-online-stock-span",
"python": true,
"typescript": true,
"rust": true,
"cpp": true,
"java": true,
"javascript": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Car Fleet",
"pattern": "Stack",
"link": "car-fleet/",
"video": "Pr6T-3yB9RM",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0853-car-fleet",
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"kotlin": true,
"rust": true,
"c": true
},
{
"problem": "Simplify Path",
"pattern": "Stack",
"link": "simplify-path/",
"video": "qYlHrAKJfyA",
"difficulty": "Medium",
"code": "0071-simplify-path",
"python": true,
"typescript": true,
"rust": true,
"java": true,
"kotlin": true,
"javascript": true
},
{
"problem": "Decode String",
"pattern": "Stack",
"link": "decode-string/",
"video": "qB0zZpBJlh8",
"difficulty": "Medium",
"code": "0394-decode-string",
"python": true,
"typescript": true,
"rust": true,
"scala": true,
"java": true,
"kotlin": true
},
{
"problem": "Remove K Digits",
"pattern": "Stack",
"link": "remove-k-digits/",
"video": "cFabMOnJaq0",
"difficulty": "Medium",
"code": "0402-remove-k-digits",
"cpp": true,
"javascript": true,
"typescript": true,
"rust": true,
"kotlin": true,
"java": true,
"python": true
},
{
"problem": "Remove All Adjacent Duplicates In String II",
"pattern": "Stack",
"link": "remove-all-adjacent-duplicates-in-string-ii/",
"video": "w6LcypDgC4w",
"difficulty": "Medium",
"code": "1209-remove-all-adjacent-duplicates-in-string-ii",
"cpp": true,
"python": true,
"javascript": true,
"typescript": true,
"rust": true,
"kotlin": true
},
{
"problem": "132 Pattern",
"pattern": "Stack",
"link": "132-pattern/",
"video": "q5ANAl8Z458",
"difficulty": "Medium",
"code": "0456-132-pattern",
"python": true,
"cpp": true,
"java": true,
"javascript": true,
"typescript": true,
"kotlin": true,
"rust": true
},
{
"problem": "Maximum Frequency Stack",
"pattern": "Stack",
"link": "maximum-frequency-stack/",
"video": "Z6idIicFDOE",
"difficulty": "Hard",
"code": "0895-maximum-frequency-stack",
"javascript": true,
"typescript": true,
"rust": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Largest Rectangle In Histogram",
"pattern": "Stack",
"link": "largest-rectangle-in-histogram/",
"video": "zx5Sw9130L0",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0084-largest-rectangle-in-histogram",
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true,
"c": true
},
{
"neetcode150": true,
"problem": "Binary Search",
"pattern": "Binary Search",
"link": "binary-search/",
"video": "s4DPM8ct1pI",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0704-binary-search",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"dart": true
},
{
"problem": "Search Insert Position",
"pattern": "Binary Search",
"link": "search-insert-position/",
"video": "K-RYzDZkzCI",
"difficulty": "Easy",
"code": "0035-search-insert-position",
"c": true,
"cpp": true,
"python": true,
"javascript": true,
"swift": true,
"csharp": true,
"java": true,
"go": true,
"kotlin": true,
"typescript": true,
"rust": true
},
{
"problem": "Guess Number Higher Or Lower",
"pattern": "Binary Search",
"link": "guess-number-higher-or-lower/",
"video": "xW4QsTtaCa4",
"difficulty": "Easy",
"code": "0374-guess-number-higher-or-lower",
"c": true,
"python": true,
"cpp": true,
"java": true,
"javascript": true,
"go": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"problem": "Arranging Coins",
"pattern": "Binary Search",
"link": "arranging-coins/",
"video": "5rHz_6s2Buw",
"difficulty": "Easy",
"code": "0441-arranging-coins",
"python": true,
"cpp": true,
"kotlin": true,
"java": true,
"javascript": true
},
{
"problem": "Squares of a Sorted Array",
"pattern": "Binary Search",
"link": "squares-of-a-sorted-array/",
"video": "FPCZsG_AkUg",
"difficulty": "Easy",
"code": "0977-squares-of-a-sorted-array",
"cpp": true,
"python": true,
"javascript": true,
"typescript": true,
"go": true,
"kotlin": true,
"java": true,
"rust": true
},
{
"problem": "Valid Perfect Square",
"pattern": "Binary Search",
"link": "valid-perfect-square/",
"video": "Cg_wWPHJ2Sk",
"difficulty": "Easy",
"code": "0367-valid-perfect-square",
"python": true,
"javascript": true,
"cpp": true,
"swift": true,
"java": true,
"kotlin": true
},
{
"problem": "Sqrt(x) ",
"pattern": "Binary Search",
"link": "sqrtx/",
"video": "zdMhGxRWutQ",
"difficulty": "Easy",
"code": "0069-sqrtx",
"kotlin": true,
"c": true,
"cpp": true,
"java": true,
"python": true,
"javascript": true
},
{
"problem": "Single Element in a Sorted Array",
"pattern": "Binary Search",
"link": "single-element-in-a-sorted-array/",
"video": "HGtqdzyUJ3k",
"difficulty": "Medium",
"code": "0540-single-element-in-a-sorted-array",
"kotlin": true,
"cpp": true,
"java": true,
"python": true,
"javascript": true,
"typescript": true
},
{
"problem": "Capacity to Ship Packages",
"pattern": "Binary Search",
"link": "capacity-to-ship-packages-within-d-days/",
"video": "ER_oLmdc-nw",
"difficulty": "Medium",
"code": "1011-capacity-to-ship-packages-within-d-days",
"kotlin": true,
"java": true,
"python": true
},
{
"problem": "Find Peak Element",
"pattern": "Binary Search",
"link": "find-peak-element/",
"video": "kMzJy9es7Hc",
"difficulty": "Medium",
"code": "0162-find-peak-element",
"kotlin": true,
"cpp": true,
"java": true,
"python": true,
"javascript": true
},
{
"problem": "Successful Pairs of Spells and Potions",
"pattern": "Binary Search",
"link": "successful-pairs-of-spells-and-potions/",
"video": "OKnm5oyAhWg",
"difficulty": "Medium",
"code": "2300-successful-pairs-of-spells-and-potions",
"kotlin": true,
"cpp": true,
"python": true
},
{
"neetcode150": true,
"problem": "Search a 2D Matrix",
"pattern": "Binary Search",
"link": "search-a-2d-matrix/",
"video": "Ber2pi2C0j0",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0074-search-a-2d-matrix",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Koko Eating Bananas",
"pattern": "Binary Search",
"link": "koko-eating-bananas/",
"video": "U2SozAs9RzA",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0875-koko-eating-bananas",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"problem": "Minimize the Maximum Difference of Pairs",
"pattern": "Binary Search",
"link": "minimize-the-maximum-difference-of-pairs/",
"video": "lf1Pxg7IrzQ",
"difficulty": "Medium",
"code": "2616-minimize-the-maximum-difference-of-pairs",
"java": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Find Minimum In Rotated Sorted Array",
"pattern": "Binary Search",
"link": "find-minimum-in-rotated-sorted-array/",
"video": "nIVW4P8b1VA",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0153-find-minimum-in-rotated-sorted-array",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"rust": true,
"scala": true,
"ruby": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Search In Rotated Sorted Array",
"pattern": "Binary Search",
"link": "search-in-rotated-sorted-array/",
"video": "U8XENwh8Oy8",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0033-search-in-rotated-sorted-array",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"rust": true,
"scala": true
},
{
"problem": "Search In Rotated Sorted Array II",
"pattern": "Binary Search",
"link": "search-in-rotated-sorted-array-ii/",
"video": "oUnF7o88_Xc",
"difficulty": "Medium",
"code": "0081-search-in-rotated-sorted-array-ii",
"java": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Time Based Key Value Store",
"pattern": "Binary Search",
"link": "time-based-key-value-store/",
"video": "fu2cD_6E8Hw",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0981-time-based-key-value-store",
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"ruby": true,
"rust": true,
"c": true
},
{
"problem": "Find First And Last Position of Element In Sorted Array",
"pattern": "Binary Search",
"link": "find-first-and-last-position-of-element-in-sorted-array/",
"video": "4sQL7R5ySUU",
"difficulty": "Medium",
"code": "0034-find-first-and-last-position-of-element-in-sorted-array",
"csharp": true,
"python": true,
"kotlin": true,
"cpp": true,
"java": true,
"swift": true,
"javascript": true
},
{
"problem": "Maximum Number of Removable Characters",
"pattern": "Binary Search",
"link": "maximum-number-of-removable-characters/",
"video": "NMP3nRPyX5g",
"difficulty": "Medium",
"code": "1898-maximum-number-of-removable-characters",
"javascript": true,
"kotlin": true
},
{
"problem": "Populating Next Right Pointers In Each Node",
"pattern": "Binary Search",
"link": "populating-next-right-pointers-in-each-node/",
"video": "U4hFQCa1Cq0",
"difficulty": "Medium",
"code": "0116-populating-next-right-pointers-in-each-node",
"go": true,
"cpp": true,
"javascript": true,
"kotlin": true
},
{
"problem": "Search Suggestions System",
"pattern": "Binary Search",
"link": "search-suggestions-system/",
"video": "D4T2N0yAr20",
"difficulty": "Medium",
"code": "1268-search-suggestions-system",
"java": true,
"javascript": true,
"kotlin": true
},
{
"problem": "Split Array Largest Sum",
"pattern": "Binary Search",
"link": "split-array-largest-sum/",
"video": "YUF3_eBdzsk",
"difficulty": "Hard",
"code": "0410-split-array-largest-sum",
"python": true,
"javascript": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Median of Two Sorted Arrays",
"pattern": "Binary Search",
"link": "median-of-two-sorted-arrays/",
"video": "q6IEA26hvXc",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0004-median-of-two-sorted-arrays",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Reverse Linked List",
"pattern": "Linked List",
"link": "reverse-linked-list/",
"video": "G0_I-ZF0S38",
"difficulty": "Easy",
"python": true,
"cpp": true,
"javascript": true,
"java": true,
"code": "0206-reverse-linked-list",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"scala": true,
"rust": true,
"dart": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Merge Two Sorted Lists",
"pattern": "Linked List",
"link": "merge-two-sorted-lists/",
"video": "XIdigk956u0",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0021-merge-two-sorted-lists",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"scala": true,
"dart": true,
"rust": true
},
{
"problem": "Palindrome Linked List",
"pattern": "Linked List",
"link": "palindrome-linked-list/",
"video": "yOzXms1J6Nk",
"difficulty": "Easy",
"code": "0234-palindrome-linked-list",
"cpp": true,
"javascript": true,
"python": true,
"go": true,
"java": true,
"kotlin": true,
"c": true
},
{
"problem": "Remove Linked List Elements",
"pattern": "Linked List",
"link": "remove-linked-list-elements/",
"video": "JI71sxtHTng",
"difficulty": "Easy",
"code": "0203-remove-linked-list-elements",
"javascript": true,
"typescript": true,
"go": true,
"cpp": true,
"java": true,
"python": true,
"kotlin": true
},
{
"problem": "Remove Duplicates From Sorted List",
"pattern": "Linked List",
"link": "remove-duplicates-from-sorted-list/",
"video": "p10f-VpO4nE",
"difficulty": "Easy",
"code": "0083-remove-duplicates-from-sorted-list",
"cpp": true,
"python": true,
"javascript": true,
"go": true,
"java": true,
"kotlin": true,
"c": true
},
{
"problem": "Middle of the Linked List",
"pattern": "Linked List",
"link": "middle-of-the-linked-list/",
"video": "A2_ldqM4QcY",
"difficulty": "Easy",
"python": true,
"code": "0876-middle-of-the-linked-list",
"c": true,
"cpp": true,
"csharp": true,
"java": true,
"javascript": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true,
"swift": true
},
{
"problem": "Intersection of Two Linked Lists",
"pattern": "Linked List",
"link": "intersection-of-two-linked-lists/",
"video": "D0X0BONOQhI",
"difficulty": "Easy",
"code": "0160-intersection-of-two-linked-lists",
"python": true,
"javascript": true,
"java": true,
"go": true,
"kotlin": true,
"c": true,
"cpp": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Reorder List",
"pattern": "Linked List",
"link": "reorder-list/",
"video": "S5bfdUTrKLM",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0143-reorder-list",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true
},
{
"problem": "Maximum Twin Sum Of A Linked List",
"pattern": "Linked List",
"link": "maximum-twin-sum-of-a-linked-list/",
"video": "doj95MelfSA",
"difficulty": "Medium",
"code": "2130-maximum-twin-sum-of-a-linked-list",
"python": true,
"java": true,
"kotlin": true,
"cpp": true,
"javascript": true,
"go": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Remove Nth Node From End of List",
"pattern": "Linked List",
"link": "remove-nth-node-from-end-of-list/",
"video": "XVuQxVej6y8",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0019-remove-nth-node-from-end-of-list",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"problem": "Swapping Nodes in a Linked List",
"pattern": "Linked List",
"link": "swapping-nodes-in-a-linked-list/",
"video": "4LsrgMyQIjQ",
"difficulty": "Medium",
"code": "1721-swapping-nodes-in-a-linked-list",
"kotlin": true,
"cpp": true,
"java": true,
"python": true,
"go": true
},
{
"problem": "LFU Cache",
"pattern": "Linked List",
"link": "lfu-cache/",
"video": "bLEIHn-DgoA",
"difficulty": "Hard",
"code": "0460-lfu-cache",
"javascript": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Copy List With Random Pointer",
"pattern": "Linked List",
"link": "copy-list-with-random-pointer/",
"video": "5Y2EiZST97Y",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0138-copy-list-with-random-pointer",
"c": true,
"csharp": true,
"typescript": true,
"ruby": true,
"swift": true,
"kotlin": true,
"go": true
},
{
"problem": "Design Linked List",
"pattern": "Linked List",
"link": "design-linked-list/",
"video": "Wf4QhpdVFQo",
"difficulty": "Medium",
"python": true,
"code": "0707-design-linked-list",
"go": true,
"kotlin": true,
"c": true,
"java": true
},
{
"problem": "Design Browser History",
"pattern": "Linked List",
"link": "design-browser-history/",
"video": "i1G-kKnBu8k",
"difficulty": "Medium",
"python": true,
"code": "1472-design-browser-history",
"javascript": true,
"typescript": true,
"go": true,
"rust": true,
"java": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Add Two Numbers",
"pattern": "Linked List",
"link": "add-two-numbers/",
"video": "wgFPrzTjm7s",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0002-add-two-numbers",
"c": true,
"csharp": true,
"typescript": true,
"ruby": true,
"swift": true,
"kotlin": true,
"scala": true,
"go": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Linked List Cycle",
"pattern": "Linked List",
"link": "linked-list-cycle/",
"video": "gBTe7lFR3vc",
"difficulty": "Easy",
"python": true,
"cpp": true,
"javascript": true,
"java": true,
"code": "0141-linked-list-cycle",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"scala": true
},
{
"neetcode150": true,
"problem": "Find The Duplicate Number",
"pattern": "Linked List",
"link": "find-the-duplicate-number/",
"video": "wjYnzkAhcNk",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0287-find-the-duplicate-number",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"problem": "Swap Nodes In Pairs",
"pattern": "Linked List",
"link": "swap-nodes-in-pairs/",
"video": "o811TZLAWOo",
"difficulty": "Medium",
"code": "0024-swap-nodes-in-pairs",
"python": true,
"go": true,
"java": true,
"kotlin": true,
"c": true,
"cpp": true
},
{
"problem": "Sort List",
"pattern": "Linked List",
"link": "sort-list/",
"video": "TGveA1oFhrc",
"difficulty": "Medium",
"code": "0148-sort-list",
"java": true,
"python": true,
"c": true,
"cpp": true,
"kotlin": true
},
{
"problem": "Partition List",
"pattern": "Linked List",
"link": "partition-list/",
"video": "KT1iUciJr4g",
"difficulty": "Medium",
"code": "0086-partition-list",
"python": true,
"java": true,
"kotlin": true
},
{
"problem": "Rotate List",
"pattern": "Linked List",
"link": "rotate-list/",
"video": "UcGtPs2LE_c",
"difficulty": "Medium",
"code": "0061-rotate-list",
"python": true,
"cpp": true,
"java": true,
"kotlin": true
},
{
"problem": "Reverse Linked List II",
"pattern": "Linked List",
"link": "reverse-linked-list-ii/",
"video": "RF_M9tX4Eag",
"difficulty": "Medium",
"code": "0092-reverse-linked-list-ii",
"python": true,
"javascript": true,
"cpp": true,
"java": true,
"kotlin": true
},
{
"problem": "Design Circular Queue",
"pattern": "Linked List",
"link": "design-circular-queue/",
"video": "aBbsfn863oA",
"difficulty": "Medium",
"code": "0622-design-circular-queue",
"python": true,
"go": true,
"kotlin": true,
"java": true
},
{
"problem": "Insertion Sort List",
"pattern": "Linked List",
"link": "insertion-sort-list/",
"video": "Kk6mXAzqX3Y",
"difficulty": "Medium",
"code": "0147-insertion-sort-list",
"python": true,
"cpp": true,
"kotlin": true
},
{
"problem": "Split Linked List in Parts",
"pattern": "Linked List",
"link": "split-linked-list-in-parts/",
"video": "-OTlqdrxrVI",
"difficulty": "Medium",
"code": "0725-split-linked-list-in-parts",
"java": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "LRU Cache",
"pattern": "Linked List",
"link": "lru-cache/",
"video": "7ABFKPK2hD4",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0146-lru-cache",
"c": true,
"csharp": true,
"ruby": true,
"kotlin": true,
"go": true,
"typescript": true,
"swift": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Merge K Sorted Lists",
"pattern": "Linked List",
"link": "merge-k-sorted-lists/",
"video": "q5a5OiGbT6Q",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0023-merge-k-sorted-lists",
"c": true,
"csharp": true,
"typescript": true,
"kotlin": true,
"go": true,
"swift": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Reverse Nodes In K Group",
"pattern": "Linked List",
"link": "reverse-nodes-in-k-group/",
"video": "1UOPsfP85V4",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0025-reverse-nodes-in-k-group",
"c": true,
"csharp": true,
"typescript": true,
"kotlin": true,
"go": true,
"swift": true,
"rust": true
},
{
"problem": "Binary Tree Inorder Traversal",
"pattern": "Trees",
"link": "binary-tree-inorder-traversal/",
"video": "g_S5WuasWUE",
"difficulty": "Easy",
"code": "0094-binary-tree-inorder-traversal",
"c": true,
"python": true,
"javascript": true,
"typescript": true,
"ruby": true,
"csharp": true,
"java": true,
"go": true,
"swift": true,
"kotlin": true,
"rust": true,
"cpp": true
},
{
"problem": "Binary Tree Preorder Traversal",
"pattern": "Trees",
"link": "binary-tree-preorder-traversal/",
"video": "afTpieEZXck",
"difficulty": "Easy",
"code": "0144-binary-tree-preorder-traversal",
"python": true,
"cpp": true,
"typescript": true,
"kotlin": true
},
{
"problem": "Binary Tree Postorder Traversal",
"pattern": "Trees",
"link": "binary-tree-postorder-traversal/",
"video": "QhszUQhGGlA",
"difficulty": "Easy",
"code": "0145-binary-tree-postorder-traversal",
"python": true,
"java": true,
"cpp": true,
"typescript": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Invert Binary Tree",
"pattern": "Trees",
"link": "invert-binary-tree/",
"video": "OnSn2XEQ4MY",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0226-invert-binary-tree",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Maximum Depth of Binary Tree",
"pattern": "Trees",
"link": "maximum-depth-of-binary-tree/",
"video": "hTM3phVI6YQ",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0104-maximum-depth-of-binary-tree",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Diameter of Binary Tree",
"pattern": "Trees",
"link": "diameter-of-binary-tree/",
"video": "bkxqA8Rfv04",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0543-diameter-of-binary-tree",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Balanced Binary Tree",
"pattern": "Trees",
"link": "balanced-binary-tree/",
"video": "QfJsau0ItOY",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0110-balanced-binary-tree",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Same Tree",
"pattern": "Trees",
"link": "same-tree/",
"video": "vRbbcKXCxOw",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0100-same-tree",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Subtree of Another Tree",
"pattern": "Trees",
"link": "subtree-of-another-tree/",
"video": "E36O5SWp-LE",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0572-subtree-of-another-tree",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"scala": true,
"rust": true
},
{
"problem": "Convert Sorted Array to Binary Search Tree",
"pattern": "Trees",
"link": "convert-sorted-array-to-binary-search-tree/",
"video": "0K0uCMYq5ng",
"difficulty": "Easy",
"code": "0108-convert-sorted-array-to-binary-search-tree",
"c": true,
"javascript": true,
"go": true,
"kotlin": true,
"java": true,
"python": true
},
{
"problem": "Merge Two Binary Trees",
"pattern": "Trees",
"link": "merge-two-binary-trees/",
"video": "QHH6rIK3dDQ",
"difficulty": "Easy",
"code": "0617-merge-two-binary-trees",
"c": true,
"java": true,
"python": true,
"javascript": true,
"go": true,
"dart": true,
"kotlin": true,
"cpp": true
},
{
"problem": "Path Sum",
"pattern": "Trees",
"link": "path-sum/",
"video": "LSKQyOz_P8I",
"difficulty": "Easy",
"code": "0112-path-sum",
"go": true,
"c": true,
"csharp": true,
"javascript": true,
"swift": true,
"java": true,
"python": true,
"kotlin": true
},
{
"problem": "Construct String From Binary Tree",
"pattern": "Trees",
"link": "construct-string-from-binary-tree/",
"video": "b1WpYxnuebQ",
"difficulty": "Easy",
"code": "0606-construct-string-from-binary-tree",
"java": true,
"python": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Lowest Common Ancestor of a Binary Search Tree",
"pattern": "Trees",
"link": "lowest-common-ancestor-of-a-binary-search-tree/",
"video": "gs2LMfuOR9k",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0235-lowest-common-ancestor-of-a-binary-search-tree",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"scala": true,
"rust": true
},
{
"problem": "Insert into a Binary Search Tree",
"pattern": "Trees",
"link": "insert-into-a-binary-search-tree/",
"video": "Cpg8f79luEA",
"difficulty": "Medium",
"python": true,
"code": "0701-insert-into-a-binary-search-tree",
"kotlin": true,
"cpp": true,
"csharp": true,
"java": true,
"typescript": true
},
{
"problem": "Delete Node in a BST",
"pattern": "Trees",
"link": "delete-node-in-a-bst/",
"video": "LFzAoJJt92M",
"difficulty": "Medium",
"python": true,
"code": "0450-delete-node-in-a-bst",
"kotlin": true,
"cpp": true,
"java": true,
"typescript": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Binary Tree Level Order Traversal",
"pattern": "Trees",
"link": "binary-tree-level-order-traversal/",
"video": "6ZnyEApgFYg",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0102-binary-tree-level-order-traversal",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Binary Tree Right Side View",
"pattern": "Trees",
"link": "binary-tree-right-side-view/",
"video": "d4zLyf32e3I",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0199-binary-tree-right-side-view",
"c": true,
"csharp": true,
"typescript": true,
"swift": true,
"kotlin": true,
"go": true,
"rust": true
},
{
"problem": "Minimum Distance between BST Nodes",
"pattern": "Trees",
"link": "minimum-distance-between-bst-nodes/",
"video": "joxx4hTYwcw",
"difficulty": "Easy",
"code": "0783-minimum-distance-between-bst-nodes",
"kotlin": true,
"python": true
},
{
"problem": "Symmetric Tree ",
"pattern": "Trees",
"link": "symmetric-tree/",
"video": "Mao9uzxwvmc",
"difficulty": "Easy",
"code": "0101-symmetric-tree",
"kotlin": true,
"python": true
},
{
"problem": "Minimum Time to Collect All Apples in a Tree",
"pattern": "Trees",
"link": "minimum-time-to-collect-all-apples-in-a-tree/",
"video": "Xdt5Z583auM",
"difficulty": "Medium",
"code": "1443-minimum-time-to-collect-all-apples-in-a-tree",
"rust": true,
"kotlin": true
},
{
"problem": "Binary Tree Zigzag Level Order Traversal",
"pattern": "Trees",
"link": "binary-tree-zigzag-level-order-traversal/",
"video": "igbboQbiwqw",
"difficulty": "Medium",
"code": "0103-binary-tree-zigzag-level-order-traversal",
"kotlin": true,
"cpp": true,
"python": true
},
{
"problem": "Construct Quad Tree",
"pattern": "Trees",
"link": "construct-quad-tree/",
"video": "UQ-1sBMV0v4",
"difficulty": "Medium",
"code": "0427-construct-quad-tree",
"kotlin": true
},
{
"problem": "Find Duplicate Subtrees",
"pattern": "Trees",
"link": "find-duplicate-subtrees/",
"video": "kn0Z5_qPPzY",
"difficulty": "Medium",
"code": "0652-find-duplicate-subtrees",
"kotlin": true
},
{
"problem": "Check Completeness of a Binary Tree",
"pattern": "Trees",
"link": "check-completeness-of-a-binary-tree/",
"video": "olbiZ-EOSig",
"difficulty": "Medium",
"code": "0958-check-completeness-of-a-binary-tree",
"kotlin": true,
"cpp": true
},
{
"problem": "Construct Binary Tree from Inorder and Postorder Traversal",
"pattern": "Trees",
"link": "construct-binary-tree-from-inorder-and-postorder-traversal/",
"video": "vm63HuIU7kw",
"difficulty": "Medium",
"code": "0106-construct-binary-tree-from-inorder-and-postorder-traversal",
"java": true,
"kotlin": true
},
{
"problem": "Maximum Width of Binary Tree ",
"pattern": "Trees",
"link": "maximum-width-of-binary-tree/",
"video": "FPzLE2L7uHs",
"difficulty": "Medium",
"code": "0662-maximum-width-of-binary-tree",
"java": true,
"kotlin": true
},
{
"problem": "Time Needed to Inform All Employees ",
"pattern": "Trees",
"link": "time-needed-to-inform-all-employees/",
"video": "zdBYi0p4L5Q",
"difficulty": "Medium",
"code": "1376-time-needed-to-inform-all-employees",
"kotlin": true
},
{
"neetcode150": true,
"problem": "Count Good Nodes In Binary Tree",
"pattern": "Trees",
"link": "count-good-nodes-in-binary-tree/",
"video": "7cp5imvDzl4",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "1448-count-good-nodes-in-binary-tree",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Validate Binary Search Tree",
"pattern": "Trees",
"link": "validate-binary-search-tree/",
"video": "s6ATEkipzow",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0098-validate-binary-search-tree",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Kth Smallest Element In a Bst",
"pattern": "Trees",
"link": "kth-smallest-element-in-a-bst/",
"video": "5LUXSvjmGCw",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0230-kth-smallest-element-in-a-bst",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"scala": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Construct Binary Tree From Preorder And Inorder Traversal",
"pattern": "Trees",
"link": "construct-binary-tree-from-preorder-and-inorder-traversal/",
"video": "ihj4IQGZ2zc",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0105-construct-binary-tree-from-preorder-and-inorder-traversal",
"c": true,
"csharp": true,
"typescript": true,
"kotlin": true,
"go": true
},
{
"problem": "Unique Binary Search Trees",
"pattern": "Trees",
"link": "unique-binary-search-trees/",
"video": "Ox0TenN3Zpg",
"difficulty": "Medium",
"code": "0096-unique-binary-search-trees",
"c": true,
"java": true,
"kotlin": true
},
{
"problem": "Unique Binary Search Trees II",
"pattern": "Trees",
"link": "unique-binary-search-trees-ii/",
"video": "m907FlQa2Yc",
"difficulty": "Medium",
"code": "0095-unique-binary-search-trees-ii",
"kotlin": true
},
{
"problem": "Sum Root to Leaf Numbers",
"pattern": "Trees",
"link": "sum-root-to-leaf-numbers/",
"video": "Jk16lZGFWxE",
"difficulty": "Medium",
"code": "0129-sum-root-to-leaf-numbers",
"c": true,
"java": true,
"cpp": true,
"kotlin": true
},
{
"problem": "House Robber III",
"pattern": "Trees",
"link": "house-robber-iii/",
"video": "nHR8ytpzz7c",
"difficulty": "Medium",
"code": "0337-house-robber-iii",
"java": true,
"kotlin": true
},
{
"problem": "Flip Equivalent Binary Trees",
"pattern": "Trees",
"link": "flip-equivalent-binary-trees/",
"video": "izRDc1il9Pk",
"difficulty": "Medium",
"code": "0951-flip-equivalent-binary-trees",
"java": true,
"kotlin": true
},
{
"problem": "Operations On Tree",
"pattern": "Trees",
"link": "operations-on-tree/",
"video": "qK4PtjrVD0U",
"difficulty": "Medium",
"code": "1993-operations-on-tree",
"kotlin": true
},
{
"problem": "All Possible Full Binary Trees",
"pattern": "Trees",
"link": "all-possible-full-binary-trees/",
"video": "nZtrZPTTCAo",
"difficulty": "Medium",
"code": "0894-all-possible-full-binary-trees",
"python": true,
"java": true,
"kotlin": true
},
{
"problem": "Find Bottom Left Tree Value",
"pattern": "Trees",
"link": "find-bottom-left-tree-value/",
"video": "u_by_cTsNJA",
"difficulty": "Medium",
"code": "0513-find-bottom-left-tree-value",
"java": true,
"kotlin": true
},
{
"problem": "Trim a Binary Search Tree",
"pattern": "Trees",
"link": "trim-a-binary-search-tree/",
"video": "jwt5mTjEXGc",
"difficulty": "Medium",
"code": "0669-trim-a-binary-search-tree",
"python": true,
"javascript": true,
"typescript": true,
"go": true,
"java": true,
"kotlin": true
},
{
"problem": "Binary Search Tree Iterator",
"pattern": "Trees",
"link": "binary-search-tree-iterator/",
"video": "RXy5RzGF5wo",
"difficulty": "Medium",
"code": "0173-binary-search-tree-iterator",
"java": true,
"javascript": true,
"kotlin": true
},
{
"problem": "Convert Bst to Greater Tree",
"pattern": "Trees",
"link": "convert-bst-to-greater-tree/",
"video": "7vVEJwVvAlI",
"difficulty": "Medium",
"code": "0538-convert-bst-to-greater-tree",
"cpp": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Binary Tree Maximum Path Sum",
"pattern": "Trees",
"link": "binary-tree-maximum-path-sum/",
"video": "Hr5cWUld4vU",
"difficulty": "Hard",
"code": "0124-binary-tree-maximum-path-sum",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Serialize And Deserialize Binary Tree",
"pattern": "Trees",
"link": "serialize-and-deserialize-binary-tree/",
"video": "u4JAi2JJhI8",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0297-serialize-and-deserialize-binary-tree",
"c": true,
"csharp": true,
"kotlin": true,
"go": true,
"typescript": true,
"swift": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Implement Trie Prefix Tree",
"pattern": "Tries",
"link": "implement-trie-prefix-tree/",
"video": "oobqoCJlHA0",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0208-implement-trie-prefix-tree",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"scala": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Design Add And Search Words Data Structure",
"pattern": "Tries",
"link": "design-add-and-search-words-data-structure/",
"video": "BTf05gs_8iU",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0211-design-add-and-search-words-data-structure",
"csharp": true,
"typescript": true,
"ruby": true,
"kotlin": true,
"rust": true,
"go": true,
"c": true,
"scala": true
},
{
"problem": "Extra Characters in a String",
"pattern": "Tries",
"link": "extra-characters-in-a-string/",
"video": "ONstwO1cD7c",
"difficulty": "Medium",
"code": "2707-extra-characters-in-a-string",
"cpp": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Word Search II",
"pattern": "Tries",
"link": "word-search-ii/",
"video": "asbcE9mZz_U",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0212-word-search-ii",
"csharp": true,
"swift": true,
"kotlin": true,
"rust": true,
"go": true,
"c": true
},
{
"neetcode150": true,
"problem": "Kth Largest Element In a Stream",
"pattern": "Heap / Priority Queue",
"link": "kth-largest-element-in-a-stream/",
"video": "hOjcdrqMoQ8",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0703-kth-largest-element-in-a-stream",
"c": true,
"csharp": true,
"ruby": true,
"swift": true,
"go": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Last Stone Weight",
"pattern": "Heap / Priority Queue",
"link": "last-stone-weight/",
"video": "B-QCq79-Vfw",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "1046-last-stone-weight",
"csharp": true,
"typescript": true,
"ruby": true,
"kotlin": true,
"go": true,
"rust": true,
"c": true
},
{
"neetcode150": true,
"problem": "K Closest Points to Origin",
"pattern": "Heap / Priority Queue",
"link": "k-closest-points-to-origin/",
"video": "rI2EBUEMfTk",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0973-k-closest-points-to-origin",
"csharp": true,
"kotlin": true,
"go": true,
"rust": true,
"c": true
},
{
"neetcode150": true,
"problem": "Kth Largest Element In An Array",
"pattern": "Heap / Priority Queue",
"link": "kth-largest-element-in-an-array/",
"video": "XEmy13g1Qxc",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0215-kth-largest-element-in-an-array",
"csharp": true,
"typescript": true,
"kotlin": true,
"go": true,
"scala": true,
"c": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Task Scheduler",
"pattern": "Heap / Priority Queue",
"link": "task-scheduler/",
"video": "s8p8ukTyA2I",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0621-task-scheduler",
"csharp": true,
"typescript": true,
"kotlin": true,
"rust": true,
"c": true
},
{
"neetcode150": true,
"problem": "Design Twitter",
"pattern": "Heap / Priority Queue",
"link": "design-twitter/",
"video": "pNichitDD2E",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0355-design-twitter",
"csharp": true,
"go": true,
"kotlin": true
},
{
"problem": "Minimize Deviation in Array",
"pattern": "Heap / Priority Queue",
"link": "minimize-deviation-in-array/",
"video": "boHNFptxo2A",
"difficulty": "Hard",
"code": "1675-minimize-deviation-in-array",
"kotlin": true,
"cpp": true
},
{
"problem": "Maximum Subsequence Score",
"pattern": "Heap / Priority Queue",
"link": "maximum-subsequence-score/",
"video": "ax1DKi5lJwk",
"difficulty": "Medium",
"code": "2542-maximum-subsequence-score",
"kotlin": true,
"cpp": true
},
{
"problem": "Single Threaded Cpu",
"pattern": "Heap / Priority Queue",
"link": "single-threaded-cpu/",
"video": "RR1n-d4oYqE",
"difficulty": "Medium",
"code": "1834-single-threaded-cpu",
"java": true,
"python": true,
"javascript": true,
"kotlin": true,
"rust": true
},
{
"problem": "Seat Reservation Manager",
"pattern": "Heap / Priority Queue",
"link": "seat-reservation-manager/",
"video": "ahobllKXEEY",
"difficulty": "Medium",
"code": "1845-seat-reservation-manager",
"python": true,
"cpp": true,
"kotlin": true
},
{
"problem": "Process Tasks Using Servers",
"pattern": "Heap / Priority Queue",
"link": "process-tasks-using-servers/",
"video": "XKA22PecuMQ",
"difficulty": "Medium",
"code": "1882-process-tasks-using-servers",
"kotlin": true
},
{
"problem": "Find The Kth Largest Integer In The Array",
"pattern": "Heap / Priority Queue",
"link": "find-the-kth-largest-integer-in-the-array/",
"video": "lRCaNiqO3xI",
"difficulty": "Medium",
"code": "1985-find-the-kth-largest-integer-in-the-array",
"java": true,
"python": true,
"swift": true,
"cpp": true,
"go": true,
"kotlin": true
},
{
"problem": "Reorganize String",
"pattern": "Heap / Priority Queue",
"link": "reorganize-string/",
"video": "2g_b1aYTHeg",
"difficulty": "Medium",
"code": "0767-reorganize-string",
"java": true,
"python": true,
"cpp": true,
"kotlin": true
},
{
"problem": "Longest Happy String",
"pattern": "Heap / Priority Queue",
"link": "longest-happy-string/",
"video": "8u-H6O_XQKE",
"difficulty": "Medium",
"code": "1405-longest-happy-string",
"kotlin": true
},
{
"problem": "Car Pooling",
"pattern": "Heap / Priority Queue",
"link": "car-pooling/",
"video": "08sn_w4LWEE",
"difficulty": "Medium",
"code": "1094-car-pooling",
"csharp": true,
"cpp": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Find Median From Data Stream",
"pattern": "Heap / Priority Queue",
"link": "find-median-from-data-stream/",
"video": "itmhHWaHupI",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0295-find-median-from-data-stream",
"csharp": true,
"kotlin": true,
"go": true,
"typescript": true
},
{
"problem": "Maximum Performance of a Team",
"pattern": "Heap / Priority Queue",
"link": "maximum-performance-of-a-team/",
"video": "Y7UTvogADH0",
"difficulty": "Hard",
"code": "1383-maximum-performance-of-a-team",
"csharp": true,
"python": true,
"kotlin": true
},
{
"problem": "IPO",
"pattern": "Heap / Priority Queue",
"link": "ipo/",
"video": "1IUzNJ6TPEM",
"difficulty": "Hard",
"code": "0502-ipo",
"python": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Subsets",
"pattern": "Backtracking",
"link": "subsets/",
"video": "REOH22Xwdkk",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0078-subsets",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Combination Sum",
"pattern": "Backtracking",
"link": "combination-sum/",
"video": "GBKI9VSKdGg",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0039-combination-sum",
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"ruby": true,
"rust": true,
"c": true,
"swift": true
},
{
"problem": "Combinations",
"pattern": "Backtracking",
"link": "combinations/",
"video": "q0s6m7AiM7o",
"difficulty": "Medium",
"code": "0077-combinations",
"python": true,
"go": true,
"kotlin": true,
"java": true
},
{
"neetcode150": true,
"problem": "Permutations",
"pattern": "Backtracking",
"link": "permutations/",
"video": "s7AvT7cGdSo",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0046-permutations",
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"ruby": true,
"rust": true,
"c": true
},
{
"neetcode150": true,
"problem": "Subsets II",
"pattern": "Backtracking",
"link": "subsets-ii/",
"video": "Vn2v6ajA7U0",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0090-subsets-ii",
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"ruby": true,
"rust": true,
"c": true
},
{
"neetcode150": true,
"problem": "Combination Sum II",
"pattern": "Backtracking",
"link": "combination-sum-ii/",
"video": "rSA3t6BDDwg",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0040-combination-sum-ii",
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"ruby": true,
"c": true
},
{
"problem": "Permutations II",
"pattern": "Backtracking",
"link": "permutations-ii/",
"video": "qhBVWf0YafA",
"difficulty": "Medium",
"code": "0047-permutations-ii",
"python": true,
"go": true,
"kotlin": true,
"java": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Word Search",
"pattern": "Backtracking",
"link": "word-search/",
"video": "pfiQ_PS1g8E",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0079-word-search",
"c": true,
"csharp": true,
"go": true,
"swift": true,
"kotlin": true,
"rust": true,
"ruby": true
},
{
"neetcode150": true,
"problem": "Palindrome Partitioning",
"pattern": "Backtracking",
"link": "palindrome-partitioning/",
"video": "3jvWodd7ht0",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0131-palindrome-partitioning",
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"rust": true,
"swift": true,
"kotlin": true
},
{
"problem": "Restore IP Addresses",
"pattern": "Backtracking",
"link": "restore-ip-addresses/",
"video": "61tN4YEdiTM",
"difficulty": "Medium",
"code": "0093-restore-ip-addresses",
"javascript": true,
"typescript": true,
"go": true,
"rust": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Letter Combinations of a Phone Number",
"pattern": "Backtracking",
"link": "letter-combinations-of-a-phone-number/",
"video": "0snEunUacZY",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0017-letter-combinations-of-a-phone-number",
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"rust": true,
"kotlin": true,
"swift": true
},
{
"problem": "Matchsticks to Square",
"pattern": "Backtracking",
"link": "matchsticks-to-square/",
"video": "hUe0cUKV-YY",
"difficulty": "Medium",
"code": "0473-matchsticks-to-square",
"cpp": true,
"python": true,
"javascript": true,
"java": true,
"kotlin": true
},
{
"problem": "Splitting a String Into Descending Consecutive Values",
"pattern": "Backtracking",
"link": "splitting-a-string-into-descending-consecutive-values/",
"video": "eDtMmysldaw",
"difficulty": "Medium",
"code": "1849-splitting-a-string-into-descending-consecutive-values",
"python": true,
"cpp": true,
"kotlin": true
},
{
"problem": "Find Unique Binary String",
"pattern": "Backtracking",
"link": "find-unique-binary-string/",
"video": "aHqn4Dynd1k",
"difficulty": "Medium",
"code": "1980-find-unique-binary-string",
"python": true,
"kotlin": true,
"java": true
},
{
"problem": "Maximum Length of a Concatenated String With Unique Characters",
"pattern": "Backtracking",
"link": "maximum-length-of-a-concatenated-string-with-unique-characters/",
"video": "d4SPuvkaeoo",
"difficulty": "Medium",
"code": "1239-maximum-length-of-a-concatenated-string-with-unique-characters",
"python": true,
"kotlin": true
},
{
"problem": "Partition to K Equal Sum Subsets",
"pattern": "Backtracking",
"link": "partition-to-k-equal-sum-subsets/",
"video": "mBk4I0X46oI",
"difficulty": "Medium",
"code": "0698-partition-to-k-equal-sum-subsets",
"kotlin": true,
"python": true,
"java": true
},
{
"neetcode150": true,
"problem": "N Queens",
"pattern": "Backtracking",
"link": "n-queens/",
"video": "Ph95IHmRp5M",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0051-n-queens",
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"c": true,
"rust": true
},
{
"problem": "N Queens II",
"pattern": "Backtracking",
"link": "n-queens-ii/",
"video": "nalYyLZgvCY",
"difficulty": "Hard",
"code": "0052-n-queens-ii",
"c": true,
"cpp": true,
"javascript": true,
"python": true,
"kotlin": true
},
{
"problem": "Island Perimeter",
"pattern": "Graphs",
"link": "island-perimeter/",
"video": "fISIuAFRM2s",
"difficulty": "Easy",
"code": "0463-island-perimeter",
"c": true,
"cpp": true,
"csharp": true,
"python": true,
"java": true,
"javascript": true,
"go": true,
"kotlin": true
},
{
"problem": "Verifying An Alien Dictionary",
"pattern": "Graphs",
"link": "verifying-an-alien-dictionary/",
"video": "OVgPAJIyX6o",
"difficulty": "Easy",
"code": "0953-verifying-an-alien-dictionary",
"c": true,
"cpp": true,
"java": true,
"python": true,
"javascript": true,
"go": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Number of Islands",
"pattern": "Graphs",
"link": "number-of-islands/",
"video": "pV2kpPD66nE",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0200-number-of-islands",
"c": true,
"csharp": true,
"typescript": true,
"ruby": true,
"swift": true,
"kotlin": true,
"go": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Clone Graph",
"pattern": "Graphs",
"link": "clone-graph/",
"video": "mQeF6bN8hMk",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0133-clone-graph",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Max Area of Island",
"pattern": "Graphs",
"link": "max-area-of-island/",
"video": "iJGr1OtmH0c",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0695-max-area-of-island",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true
},
{
"problem": "Count Sub Islands",
"pattern": "Graphs",
"link": "count-sub-islands/",
"video": "mLpW3qfbNJ8",
"difficulty": "Medium",
"code": "1905-count-sub-islands",
"c": true,
"csharp": true,
"python": true,
"cpp": true,
"java": true,
"javascript": true,
"go": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Pacific Atlantic Water Flow",
"pattern": "Graphs",
"link": "pacific-atlantic-water-flow/",
"video": "s-VkcjHqkGI",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0417-pacific-atlantic-water-flow",
"c": true,
"csharp": true,
"kotlin": true,
"typescript": true,
"go": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Surrounded Regions",
"pattern": "Graphs",
"link": "surrounded-regions/",
"video": "9z2BunfoZ5Y",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0130-surrounded-regions",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true
},
{
"problem": "Reorder Routes to Make All Paths Lead to The City Zero",
"pattern": "Graphs",
"link": "reorder-routes-to-make-all-paths-lead-to-the-city-zero/",
"video": "m17yOR5_PpI",
"difficulty": "Medium",
"code": "1466-reorder-routes-to-make-all-paths-lead-to-the-city-zero",
"csharp": true,
"cpp": true,
"kotlin": true,
"java": true
},
{
"neetcode150": true,
"problem": "Rotting Oranges",
"pattern": "Graphs",
"link": "rotting-oranges/",
"video": "y704fEOx0s0",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0994-rotting-oranges",
"c": true,
"csharp": true,
"typescript": true,
"kotlin": true,
"go": true
},
{
"neetcode150": true,
"problem": "Walls And Gates",
"premium": true,
"freeLink": "https://www.lintcode.com/problem/663/",
"pattern": "Graphs",
"link": "walls-and-gates/",
"video": "e69C6xhiSQE",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0286-walls-and-gates",
"csharp": true
},
{
"problem": "Snakes And Ladders",
"pattern": "Graphs",
"link": "snakes-and-ladders/",
"video": "6lH4nO3JfLk",
"difficulty": "Medium",
"code": "0909-snakes-and-ladders",
"csharp": true,
"python": true,
"java": true,
"kotlin": true
},
{
"problem": "Open The Lock",
"pattern": "Graphs",
"link": "open-the-lock/",
"video": "Pzg3bCDY87w",
"difficulty": "Medium",
"code": "0752-open-the-lock",
"csharp": true,
"java": true,
"python": true,
"kotlin": true
},
{
"problem": "Find Eventual Safe States",
"pattern": "Graphs",
"link": "find-eventual-safe-states/",
"video": "Re_v0j0CRsg",
"difficulty": "Medium",
"code": "0802-find-eventual-safe-states",
"kotlin": true,
"java": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Course Schedule",
"pattern": "Graphs",
"link": "course-schedule/",
"video": "EgI5nU9etnU",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0207-course-schedule",
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"c": true
},
{
"neetcode150": true,
"problem": "Course Schedule II",
"pattern": "Graphs",
"link": "course-schedule-ii/",
"video": "Akt3glAwyfY",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0210-course-schedule-ii",
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true
},
{
"problem": "Course Schedule IV",
"pattern": "Graphs",
"link": "course-schedule-iv/",
"video": "cEW05ofxhn0",
"difficulty": "Medium",
"python": true,
"code": "1462-course-schedule-iv",
"kotlin": true
},
{
"problem": "Check if Move Is Legal",
"pattern": "Graphs",
"link": "check-if-move-is-legal/",
"video": "KxK33AcQZpQ",
"difficulty": "Medium",
"code": "1958-check-if-move-is-legal",
"cpp": true,
"java": true,
"python": true,
"javascript": true,
"go": true,
"kotlin": true
},
{
"problem": "Shortest Bridge",
"pattern": "Graphs",
"link": "shortest-bridge/",
"video": "gkINMhbbIbU",
"difficulty": "Medium",
"code": "0934-shortest-bridge",
"kotlin": true,
"javascript": true
},
{
"problem": "Shortest Path in Binary Matrix",
"pattern": "Graphs",
"video": "YnxUdAO7TAo",
"link": "shortest-path-in-binary-matrix/",
"difficulty": "Medium",
"code": "1091-shortest-path-in-binary-matrix",
"python": true,
"java": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Redundant Connection",
"pattern": "Graphs",
"link": "redundant-connection/",
"video": "FXWRE67PLL0",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0684-redundant-connection",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Number of Connected Components In An Undirected Graph",
"premium": true,
"freeLink": "https://www.lintcode.com/problem/3651/",
"pattern": "Graphs",
"link": "number-of-connected-components-in-an-undirected-graph/",
"video": "8f1XPm4WOUc",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0323-number-of-connected-components-in-an-undirected-graph",
"csharp": true,
"go": true,
"swift": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Graph Valid Tree",
"premium": true,
"freeLink": "https://www.lintcode.com/problem/178/",
"pattern": "Graphs",
"link": "graph-valid-tree/",
"video": "bXsUuownnoQ",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0261-graph-valid-tree",
"csharp": true,
"typescript": true,
"swift": true
},
{
"problem": "Accounts Merge",
"pattern": "Graphs",
"link": "accounts-merge/",
"video": "6st4IxEF-90",
"difficulty": "Medium",
"code": "0721-accounts-merge",
"python": true,
"kotlin": true,
"java": true
},
{
"problem": "Find Closest Node to Given Two Nodes",
"pattern": "Graphs",
"link": "find-closest-node-to-given-two-nodes/",
"video": "AZA8orksO4w",
"difficulty": "Medium",
"code": "2359-find-closest-node-to-given-two-nodes",
"kotlin": true
},
{
"problem": "As Far from Land as Possible",
"pattern": "Graphs",
"link": "as-far-from-land-as-possible/",
"video": "fjxb1hQfrZk",
"difficulty": "Medium",
"code": "1162-as-far-from-land-as-possible",
"kotlin": true
},
{
"problem": "Shortest Path with Alternating Colors",
"pattern": "Graphs",
"link": "shortest-path-with-alternating-colors/",
"video": "69rcy6lb-HQ",
"difficulty": "Medium",
"code": "1129-shortest-path-with-alternating-colors",
"kotlin": true
},
{
"problem": "Minimum Fuel Cost to Report to the Capital",
"pattern": "Graphs",
"link": "minimum-fuel-cost-to-report-to-the-capital/",
"video": "I3lnDUIzIG4",
"difficulty": "Medium",
"code": "2477-minimum-fuel-cost-to-report-to-the-capital",
"kotlin": true,
"java": true
},
{
"problem": "Minimum Score of a Path Between Two Cities",
"pattern": "Graphs",
"link": "minimum-score-of-a-path-between-two-cities/",
"video": "K7-mXA0irhY",
"difficulty": "Medium",
"code": "2492-minimum-score-of-a-path-between-two-cities",
"kotlin": true
},
{
"problem": "Number of Closed Islands",
"pattern": "Graphs",
"link": "number-of-closed-islands/",
"video": "X8k48xek8g8",
"difficulty": "Medium",
"code": "1254-number-of-closed-islands",
"kotlin": true
},
{
"problem": "Number of Enclaves",
"pattern": "Graphs",
"link": "number-of-enclaves/",
"video": "gf0zsh1FIgE",
"difficulty": "Medium",
"code": "1020-number-of-enclaves",
"kotlin": true,
"java": true
},
{
"problem": "Minimum Number of Vertices to Reach all Nodes",
"pattern": "Graphs",
"link": "minimum-number-of-vertices-to-reach-all-nodes/",
"video": "TLzcum7vrTc",
"difficulty": "Medium",
"code": "1557-minimum-number-of-vertices-to-reach-all-nodes",
"java": true,
"kotlin": true
},
{
"problem": "Is Graph Bipartite?",
"pattern": "Graphs",
"link": "is-graph-bipartite/",
"video": "mev55LTubBY",
"difficulty": "Medium",
"code": "0785-is-graph-bipartite",
"kotlin": true,
"java": true
},
{
"problem": "Evaluate Division",
"pattern": "Graphs",
"link": "evaluate-division/",
"video": "Uei1fwDoyKk",
"difficulty": "Medium",
"code": "0399-evaluate-division",
"kotlin": true,
"cpp": true
},
{
"problem": "Detonate the Maximum Bombs",
"pattern": "Graphs",
"link": "detonate-the-maximum-bombs/",
"video": "8NPbAvVXKR4",
"difficulty": "Medium",
"code": "2101-detonate-the-maximum-bombs",
"kotlin": true
},
{
"problem": "Largest Color Value in a Directed Graph",
"pattern": "Graphs",
"link": "largest-color-value-in-a-directed-graph/",
"video": "xLoDjKczUSk",
"difficulty": "Hard",
"code": "1857-largest-color-value-in-a-directed-graph",
"kotlin": true
},
{
"problem": "Minimum Number of Days to Eat N Oranges",
"pattern": "Graphs",
"link": "minimum-number-of-days-to-eat-n-oranges/",
"video": "LziQ6Qx9sks",
"difficulty": "Hard",
"code": "1553-minimum-number-of-days-to-eat-n-oranges",
"kotlin": true
},
{
"neetcode150": true,
"problem": "Word Ladder",
"pattern": "Graphs",
"link": "word-ladder/",
"video": "h9iTnkgv05E",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0127-word-ladder",
"csharp": true,
"typescript": true,
"kotlin": true,
"go": true,
"rust": true
},
{
"problem": "Path with Minimum Effort",
"pattern": "Advanced Graphs",
"link": "path-with-minimum-effort/",
"video": "XQlxCCx2vI4",
"difficulty": "Medium",
"code": "1631-path-with-minimum-effort",
"kotlin": true
},
{
"neetcode150": true,
"problem": "Reconstruct Itinerary",
"pattern": "Advanced Graphs",
"link": "reconstruct-itinerary/",
"video": "ZyB_gQ8vqGA",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0332-reconstruct-itinerary",
"csharp": true,
"kotlin": true,
"go": true,
"c": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Min Cost to Connect All Points",
"pattern": "Advanced Graphs",
"link": "min-cost-to-connect-all-points/",
"video": "f7JOBJIC-NA",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "1584-min-cost-to-connect-all-points",
"csharp": true,
"ruby": true,
"swift": true,
"go": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Network Delay Time",
"pattern": "Advanced Graphs",
"link": "network-delay-time/",
"video": "EaphyqKU4PQ",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0743-network-delay-time",
"csharp": true,
"go": true,
"kotlin": true
},
{
"problem": "Path with Maximum Probability",
"pattern": "Advanced Graphs",
"link": "path-with-maximum-probability/",
"video": "kPsDTGcrzGM",
"difficulty": "Medium",
"python": true,
"code": "1514-path-with-maximum-probability",
"java": true,
"javascript": true,
"kotlin": true,
"cpp": true
},
{
"neetcode150": true,
"problem": "Swim In Rising Water",
"pattern": "Advanced Graphs",
"link": "swim-in-rising-water/",
"video": "amvrKlMLuGY",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0778-swim-in-rising-water",
"csharp": true,
"go": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Alien Dictionary",
"premium": true,
"freeLink": "https://www.lintcode.com/problem/892/",
"pattern": "Advanced Graphs",
"link": "alien-dictionary/",
"video": "6kTZYvNNyps",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0269-alien-dictionary",
"csharp": true
},
{
"neetcode150": true,
"problem": "Cheapest Flights Within K Stops",
"pattern": "Advanced Graphs",
"link": "cheapest-flights-within-k-stops/",
"video": "5eIK3zUdYmE",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0787-cheapest-flights-within-k-stops",
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true
},
{
"problem": "Number of Good Paths",
"pattern": "Advanced Graphs",
"link": "number-of-good-paths/",
"video": "rv2GBYQm7xM",
"difficulty": "Hard",
"code": "2421-number-of-good-paths",
"javascript": true,
"typescript": true,
"go": true,
"rust": true,
"kotlin": true
},
{
"problem": "Remove Max Number of Edges to Keep Graph Fully Traversable",
"pattern": "Advanced Graphs",
"link": "remove-max-number-of-edges-to-keep-graph-fully-traversable/",
"video": "booGwg5wYm4",
"difficulty": "Hard",
"code": "1579-remove-max-number-of-edges-to-keep-graph-fully-traversable",
"kotlin": true
},
{
"problem": "Find Critical and Pseudo Critical Edges in Minimum Spanning Tree",
"pattern": "Advanced Graphs",
"link": "find-critical-and-pseudo-critical-edges-in-minimum-spanning-tree/",
"video": "83JnUxrLKJU",
"difficulty": "Hard",
"code": "1489-find-critical-and-pseudo-critical-edges-in-minimum-spanning-tree",
"python": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Climbing Stairs",
"pattern": "1-D Dynamic Programming",
"link": "climbing-stairs/",
"video": "Y0lT9Fck7qI",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0070-climbing-stairs",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"dart": true
},
{
"neetcode150": true,
"problem": "Min Cost Climbing Stairs",
"pattern": "1-D Dynamic Programming",
"link": "min-cost-climbing-stairs/",
"code": "0746-min-cost-climbing-stairs",
"video": "ktmzAZWkEZ0",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"scala": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "House Robber",
"pattern": "1-D Dynamic Programming",
"link": "house-robber/",
"video": "73r3KWiEvyk",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0198-house-robber",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"scala": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "House Robber II",
"pattern": "1-D Dynamic Programming",
"link": "house-robber-ii/",
"video": "rWAJCfYYOvM",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0213-house-robber-ii",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"scala": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Longest Palindromic Substring",
"pattern": "1-D Dynamic Programming",
"link": "longest-palindromic-substring/",
"video": "XYQecbcd6_c",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0005-longest-palindromic-substring",
"c": true,
"csharp": true,
"typescript": true,
"rust": true,
"go": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Palindromic Substrings",
"pattern": "1-D Dynamic Programming",
"link": "palindromic-substrings/",
"video": "4RACzI5-du8",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0647-palindromic-substrings",
"c": true,
"csharp": true,
"typescript": true,
"rust": true,
"go": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Decode Ways",
"pattern": "1-D Dynamic Programming",
"link": "decode-ways/",
"video": "6aEyTjOwlJU",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0091-decode-ways",
"c": true,
"csharp": true,
"typescript": true,
"kotlin": true,
"scala": true,
"go": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Coin Change",
"pattern": "1-D Dynamic Programming",
"link": "coin-change/",
"video": "H9bfqozjoqs",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0322-coin-change",
"c": true,
"csharp": true,
"typescript": true,
"kotlin": true,
"rust": true,
"go": true,
"scala": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Maximum Product Subarray",
"pattern": "1-D Dynamic Programming",
"link": "maximum-product-subarray/",
"video": "lXVy6YWFcRM",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0152-maximum-product-subarray",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Word Break",
"pattern": "1-D Dynamic Programming",
"link": "word-break/",
"video": "Sx9NNgInc3A",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0139-word-break",
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Longest Increasing Subsequence",
"pattern": "1-D Dynamic Programming",
"link": "longest-increasing-subsequence/",
"video": "cjWnW0hdF1Y",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0300-longest-increasing-subsequence",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Partition Equal Subset Sum",
"pattern": "1-D Dynamic Programming",
"link": "partition-equal-subset-sum/",
"video": "IsvocB5BJhw",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0416-partition-equal-subset-sum",
"csharp": true,
"go": true,
"kotlin": true,
"c": true
},
{
"problem": "Triangle",
"pattern": "1-D Dynamic Programming",
"link": "triangle/",
"video": "OM1MTokvxs4",
"difficulty": "Medium",
"code": "0120-triangle",
"cpp": true,
"java": true,
"python": true,
"kotlin": true,
"c": true
},
{
"problem": "Delete And Earn",
"pattern": "1-D Dynamic Programming",
"link": "delete-and-earn/",
"video": "7FCemBxvGw0",
"difficulty": "Medium",
"code": "0740-delete-and-earn",
"python": true,
"go": true,
"kotlin": true,
"c": true,
"cpp": true
},
{
"problem": "Paint House",
"pattern": "1-D Dynamic Programming",
"link": "paint-house/",
"video": "-w67-4tnH5U",
"difficulty": "Medium",
"code": "0256-paint-house",
"csharp": true
},
{
"problem": "Combination Sum IV",
"pattern": "1-D Dynamic Programming",
"link": "combination-sum-iv/",
"video": "dw2nMCxG0ik",
"difficulty": "Medium",
"code": "0377-combination-sum-iv",
"python": true,
"cpp": true,
"kotlin": true,
"c": true,
"java": true
},
{
"problem": "Perfect Squares",
"pattern": "1-D Dynamic Programming",
"link": "perfect-squares/",
"video": "HLZLwjzIVGo",
"difficulty": "Medium",
"code": "0279-perfect-squares",
"java": true,
"go": true,
"cpp": true,
"kotlin": true,
"c": true
},
{
"problem": "Check if There is a Valid Partition For The Array",
"pattern": "1-D Dynamic Programming",
"link": "check-if-there-is-a-valid-partition-for-the-array/",
"video": "OxXPiwWFdTI",
"difficulty": "Medium",
"code": "2369-check-if-there-is-a-valid-partition-for-the-array",
"kotlin": true
},
{
"problem": "Maximum Subarray Min Product",
"pattern": "1-D Dynamic Programming",
"link": "maximum-subarray-min-product/",
"video": "YLesLbNkyjA",
"difficulty": "Medium",
"code": "1856-maximum-subarray-min-product",
"kotlin": true,
"c": true,
"java": true
},
{
"problem": "Minimum Cost For Tickets",
"pattern": "1-D Dynamic Programming",
"link": "minimum-cost-for-tickets/",
"video": "4pY1bsBpIY4",
"difficulty": "Medium",
"code": "0983-minimum-cost-for-tickets",
"cpp": true,
"kotlin": true,
"c": true
},
{
"problem": "Integer Break",
"pattern": "1-D Dynamic Programming",
"link": "integer-break/",
"video": "in6QbUPMJ3I",
"difficulty": "Medium",
"code": "0343-integer-break",
"cpp": true,
"kotlin": true,
"c": true,
"java": true
},
{
"problem": "Number of Longest Increasing Subsequence",
"pattern": "1-D Dynamic Programming",
"link": "number-of-longest-increasing-subsequence/",
"video": "Tuc-rjJbsXU",
"difficulty": "Medium",
"code": "0673-number-of-longest-increasing-subsequence",
"python": true,
"kotlin": true,
"c": true
},
{
"problem": "Stickers to Spell Word",
"pattern": "1-D Dynamic Programming",
"link": "stickers-to-spell-word/",
"video": "hsomLb6mUdI",
"difficulty": "Hard",
"code": "0691-stickers-to-spell-word",
"c": true,
"kotlin": true
},
{
"problem": "N-th Tribonacci Number",
"pattern": "1-D Dynamic Programming",
"link": "n-th-tribonacci-number/",
"video": "3lpNp5Ojvrw",
"difficulty": "Easy",
"code": "1137-n-th-tribonacci-number",
"python": true,
"javascript": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true,
"c": true,
"cpp": true
},
{
"problem": "Uncrossed Lines",
"pattern": "1-D Dynamic Programming",
"link": "uncrossed-lines/",
"video": "mnJF4vJ7GyE",
"difficulty": "Medium",
"code": "1035-uncrossed-lines",
"kotlin": true,
"c": true
},
{
"problem": "Solving Questions With Brainpower",
"pattern": "1-D Dynamic Programming",
"link": "solving-questions-with-brainpower/",
"video": "D7TD_ArkfkA",
"difficulty": "Medium",
"code": "2140-solving-questions-with-brainpower",
"kotlin": true,
"c": true,
"cpp": true
},
{
"problem": "Count Ways to Build Good Strings",
"pattern": "1-D Dynamic Programming",
"link": "count-ways-to-build-good-strings/",
"video": "JKpVHG2mhbk",
"difficulty": "Medium",
"code": "2466-count-ways-to-build-good-strings",
"kotlin": true,
"c": true
},
{
"problem": "New 21 Game",
"pattern": "1-D Dynamic Programming",
"link": "new-21-game/",
"video": "zKi4LzjK27k",
"difficulty": "Medium",
"code": "0837-new-21-game",
"kotlin": true,
"c": true,
"javascript": true
},
{
"problem": "Best Team with no Conflicts",
"pattern": "1-D Dynamic Programming",
"link": "best-team-with-no-conflicts/",
"video": "7kURH3btcV4",
"difficulty": "Medium",
"code": "1626-best-team-with-no-conflicts",
"c": true,
"kotlin": true
},
{
"problem": "Stone Game III",
"pattern": "1-D Dynamic Programming",
"link": "stone-game-iii/",
"video": "HsLG5QW9CFQ",
"difficulty": "Hard",
"code": "1406-stone-game-iii",
"kotlin": true,
"c": true
},
{
"problem": "Concatenated Words",
"pattern": "1-D Dynamic Programming",
"link": "concatenated-words/",
"video": "iHp7fjw1R28",
"difficulty": "Hard",
"code": "0472-concatenated-words",
"javascript": true,
"typescript": true,
"go": true,
"rust": true,
"kotlin": true
},
{
"problem": "Maximize Score after N Operations",
"pattern": "1-D Dynamic Programming",
"link": "maximize-score-after-n-operations/",
"video": "RRQVDqp5RSE",
"difficulty": "Hard",
"code": "1799-maximize-score-after-n-operations",
"kotlin": true,
"c": true
},
{
"problem": "Find the Longest Valid Obstacle Course at Each Position",
"pattern": "1-D Dynamic Programming",
"link": "find-the-longest-valid-obstacle-course-at-each-position/",
"video": "Xq9VT7p0lic",
"difficulty": "Hard",
"code": "1964-find-the-longest-valid-obstacle-course-at-each-position",
"kotlin": true,
"c": true
},
{
"problem": "Count all Valid Pickup and Delivery Options",
"pattern": "1-D Dynamic Programming",
"link": "count-all-valid-pickup-and-delivery-options/",
"video": "OpgslsirW8s",
"difficulty": "Hard",
"code": "1359-count-all-valid-pickup-and-delivery-options",
"java": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Unique Paths",
"pattern": "2-D Dynamic Programming",
"link": "unique-paths/",
"video": "IlEsdxuD4lY",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0062-unique-paths",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true
},
{
"problem": "Unique Paths II",
"pattern": "2-D Dynamic Programming",
"link": "unique-paths-ii/",
"video": "d3UOz7zdE4I",
"difficulty": "Medium",
"python": true,
"code": "0063-unique-paths-ii",
"cpp": true,
"java": true,
"go": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Longest Common Subsequence",
"pattern": "2-D Dynamic Programming",
"link": "longest-common-subsequence/",
"video": "Ua0GhsJSlWM",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "1143-longest-common-subsequence",
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"rust": true,
"c": true
},
{
"problem": "Longest Palindromic Subsequence",
"pattern": "2-D Dynamic Programming",
"link": "longest-palindromic-subsequence/",
"video": "bUr8cNWI09Q",
"difficulty": "Medium",
"python": true,
"code": "0516-longest-palindromic-subsequence",
"kotlin": true
},
{
"problem": "Last Stone Weight II",
"pattern": "2-D Dynamic Programming",
"link": "last-stone-weight-ii/",
"video": "gdXkkmzvR3c",
"difficulty": "Medium",
"python": true,
"code": "1049-last-stone-weight-ii",
"kotlin": true
},
{
"neetcode150": true,
"problem": "Best Time to Buy And Sell Stock With Cooldown",
"pattern": "2-D Dynamic Programming",
"link": "best-time-to-buy-and-sell-stock-with-cooldown/",
"video": "I7j0F7AHpb8",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0309-best-time-to-buy-and-sell-stock-with-cooldown",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Coin Change II",
"pattern": "2-D Dynamic Programming",
"link": "coin-change-ii/",
"video": "Mjy4hd2xgrs",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0518-coin-change-ii",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Target Sum",
"pattern": "2-D Dynamic Programming",
"link": "target-sum/",
"video": "g0npyaQtAQM",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0494-target-sum",
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"c": true
},
{
"neetcode150": true,
"problem": "Interleaving String",
"pattern": "2-D Dynamic Programming",
"link": "interleaving-string/",
"video": "3Rw3p9LrgvE",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0097-interleaving-string",
"csharp": true,
"typescript": true,
"go": true,
"scala": true,
"kotlin": true,
"c": true
},
{
"problem": "Stone Game",
"pattern": "2-D Dynamic Programming",
"link": "stone-game/",
"video": "uhgdXOlGYqE",
"difficulty": "Medium",
"code": "0877-stone-game",
"kotlin": true,
"cpp": true
},
{
"problem": "Minimum Path Sum",
"pattern": "2-D Dynamic Programming",
"link": "minimum-path-sum/",
"video": "pGMsrvt0fpk",
"difficulty": "Medium",
"code": "0064-minimum-path-sum",
"cpp": true,
"java": true,
"python": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Longest Increasing Path In a Matrix",
"pattern": "2-D Dynamic Programming",
"link": "longest-increasing-path-in-a-matrix/",
"video": "wCc_nd-GiEc",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0329-longest-increasing-path-in-a-matrix",
"c": true,
"csharp": true,
"kotlin": true,
"rust": true
},
{
"problem": "Maximal Square",
"pattern": "2-D Dynamic Programming",
"link": "maximal-square/",
"video": "6X7Ha2PrDmM",
"difficulty": "Medium",
"code": "0221-maximal-square",
"python": true,
"java": true,
"kotlin": true,
"cpp": true
},
{
"problem": "Ones and Zeroes",
"pattern": "2-D Dynamic Programming",
"link": "ones-and-zeroes/",
"video": "miZ3qV04b1g",
"difficulty": "Medium",
"python": true,
"code": "0474-ones-and-zeroes",
"kotlin": true,
"cpp": true
},
{
"problem": "Maximum Alternating Subsequence Sum",
"pattern": "2-D Dynamic Programming",
"link": "maximum-alternating-subsequence-sum/",
"video": "4v42XOuU1XA",
"difficulty": "Medium",
"code": "5782-maximum-alternating-subsequence-sum"
},
{
"neetcode150": true,
"problem": "Distinct Subsequences",
"pattern": "2-D Dynamic Programming",
"link": "distinct-subsequences/",
"video": "-RDzMJ33nx8",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0115-distinct-subsequences",
"csharp": true,
"typescript": true,
"kotlin": true,
"c": true
},
{
"neetcode150": true,
"problem": "Edit Distance",
"pattern": "2-D Dynamic Programming",
"link": "edit-distance/",
"video": "XYi2-LPrwm4",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0072-edit-distance",
"csharp": true,
"swift": true,
"scala": true,
"kotlin": true,
"c": true
},
{
"problem": "Count Vowels Permutation",
"pattern": "2-D Dynamic Programming",
"link": "count-vowels-permutation/",
"video": "VUVpTZVa7Ls",
"difficulty": "Hard",
"code": "1220-count-vowels-permutation",
"python": true,
"java": true,
"go": true,
"cpp": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Burst Balloons",
"pattern": "2-D Dynamic Programming",
"link": "burst-balloons/",
"video": "VFskby7lUbw",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0312-burst-balloons",
"csharp": true,
"typescript": true,
"kotlin": true,
"c": true
},
{
"problem": "Number of Ways to Rearrange Sticks With K Sticks Visible",
"pattern": "2-D Dynamic Programming",
"link": "number-of-ways-to-rearrange-sticks-with-k-sticks-visible/",
"video": "O761YBjGxGA",
"difficulty": "Hard",
"code": "1866-number-of-ways-to-rearrange-sticks-with-k-sticks-visible",
"kotlin": true
},
{
"neetcode150": true,
"problem": "Regular Expression Matching",
"pattern": "2-D Dynamic Programming",
"link": "regular-expression-matching/",
"video": "HAA8mgxlov8",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0010-regular-expression-matching",
"csharp": true,
"typescript": true,
"go": true,
"c": true,
"kotlin": true
},
{
"problem": "Stone Game II",
"pattern": "2-D Dynamic Programming",
"link": "stone-game-ii/",
"video": "I-z-u0zfQtg",
"difficulty": "Medium",
"code": "1140-stone-game-ii",
"kotlin": true
},
{
"problem": "Flip String to Monotone Increasing",
"pattern": "2-D Dynamic Programming",
"link": "flip-string-to-monotone-increasing/",
"video": "tMq9z5k3umQ",
"difficulty": "Medium",
"code": "0926-flip-string-to-monotone-increasing",
"javascript": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true
},
{
"problem": "Maximum Value of K Coins from Piles",
"pattern": "2-D Dynamic Programming",
"link": "maximum-value-of-k-coins-from-piles/",
"video": "ZRdEd_eun8g",
"difficulty": "Hard",
"code": "2218-maximum-value-of-k-coins-from-piles",
"kotlin": true
},
{
"problem": "Number of Music Playlists",
"pattern": "2-D Dynamic Programming",
"link": "number-of-music-playlists/",
"video": "gk4qzZSmyrs",
"difficulty": "Hard",
"code": "0920-number-of-music-playlists",
"java": true,
"kotlin": true
},
{
"problem": "Number of Ways to Form a Target String Given a Dictionary",
"pattern": "2-D Dynamic Programming",
"link": "number-of-ways-to-form-a-target-string-given-a-dictionary/",
"video": "_GF-0T-YjW8",
"difficulty": "Hard",
"code": "1639-number-of-ways-to-form-a-target-string-given-a-dictionary",
"kotlin": true
},
{
"problem": "Profitable Schemes",
"pattern": "2-D Dynamic Programming",
"link": "profitable-schemes/",
"video": "CcLKQLKvOl8",
"difficulty": "Hard",
"code": "0879-profitable-schemes",
"kotlin": true
},
{
"problem": "Minimum Cost to Cut a Stick",
"pattern": "2-D Dynamic Programming",
"link": "minimum-cost-to-cut-a-stick/",
"video": "EVxTO5I0d7w",
"difficulty": "Hard",
"code": "1547-minimum-cost-to-cut-a-stick",
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Maximum Subarray",
"pattern": "Greedy",
"link": "maximum-subarray/",
"video": "5WZl3MMT0Eg",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0053-maximum-subarray",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"rust": true,
"ruby": true
},
{
"problem": "Maximum Sum Circular Subarray",
"pattern": "Greedy",
"link": "maximum-sum-circular-subarray/",
"video": "fxT9KjakYPM",
"difficulty": "Medium",
"code": "0918-maximum-sum-circular-subarray",
"python": true,
"javascript": true,
"typescript": true,
"go": true,
"rust": true,
"kotlin": true,
"java": true
},
{
"problem": "Longest Turbulent Array",
"pattern": "Greedy",
"link": "longest-turbulent-subarray/",
"video": "V_iHUhR8Dek",
"difficulty": "Medium",
"code": "0978-longest-turbulent-subarray",
"python": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Jump Game",
"pattern": "Greedy",
"link": "jump-game/",
"video": "Yan0cv2cLy8",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0055-jump-game",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Jump Game II",
"pattern": "Greedy",
"link": "jump-game-ii/",
"video": "dJ7sWiOoK7g",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0045-jump-game-ii",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"ruby": true
},
{
"problem": "Jump Game VII",
"pattern": "Greedy",
"link": "jump-game-vii/",
"video": "v1HpZUnQ4Yo",
"difficulty": "Medium",
"code": "1871-jump-game-vii",
"kotlin": true
},
{
"neetcode150": true,
"problem": "Gas Station",
"pattern": "Greedy",
"link": "gas-station/",
"video": "lJwbPZGo05A",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0134-gas-station",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"ruby": true
},
{
"neetcode150": true,
"problem": "Hand of Straights",
"pattern": "Greedy",
"link": "hand-of-straights/",
"video": "amnrMCVd2YI",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0846-hand-of-straights",
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"kotlin": true,
"c": true
},
{
"problem": "Minimize Maximum of Array",
"pattern": "Greedy",
"link": "minimize-maximum-of-array/",
"video": "AeHMvcKuR0Y",
"difficulty": "Medium",
"code": "2439-minimize-maximum-of-array",
"kotlin": true
},
{
"problem": "Dota2 Senate",
"pattern": "Greedy",
"link": "dota2-senate/",
"video": "zZA5KskfMuQ",
"difficulty": "Medium",
"code": "0649-dota2-senate",
"kotlin": true
},
{
"problem": "Maximum Points You Can Obtain From Cards",
"pattern": "Greedy",
"link": "maximum-points-you-can-obtain-from-cards/",
"video": "TsA4vbtfCvo",
"difficulty": "Medium",
"code": "1423-maximum-points-you-can-obtain-from-cards",
"csharp": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Merge Triplets to Form Target Triplet",
"pattern": "Greedy",
"link": "merge-triplets-to-form-target-triplet/",
"video": "kShkQLQZ9K4",
"difficulty": "Medium",
"code": "1899-merge-triplets-to-form-target-triplet",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"csharp": true,
"typescript": true,
"ruby": true,
"swift": true,
"kotlin": true,
"c": true
},
{
"neetcode150": true,
"problem": "Partition Labels",
"pattern": "Greedy",
"link": "partition-labels/",
"video": "B7m8UmZE-vw",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0763-partition-labels",
"csharp": true,
"go": true,
"ruby": true,
"kotlin": true,
"c": true
},
{
"neetcode150": true,
"problem": "Valid Parenthesis String",
"pattern": "Greedy",
"link": "valid-parenthesis-string/",
"video": "QhPdNS143Qg",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0678-valid-parenthesis-string",
"c": true,
"csharp": true,
"typescript": true,
"kotlin": true
},
{
"problem": "Eliminate Maximum Number of Monsters",
"pattern": "Greedy",
"link": "eliminate-maximum-number-of-monsters/",
"video": "6QQRayzOTD4",
"difficulty": "Medium",
"code": "1921-eliminate-maximum-number-of-monsters",
"cpp": true,
"java": true,
"kotlin": true
},
{
"problem": "Two City Scheduling",
"pattern": "Greedy",
"link": "two-city-scheduling/",
"video": "d-B_gk_gJtQ",
"difficulty": "Medium",
"code": "1029-two-city-scheduling",
"java": true,
"python": true,
"javascript": true,
"typescript": true,
"go": true,
"rust": true,
"kotlin": true
},
{
"problem": "Maximum Length of Pair Chain",
"pattern": "Greedy",
"link": "maximum-length-of-pair-chain/",
"video": "LcNNorqMVTw",
"difficulty": "Medium",
"code": "0646-maximum-length-of-pair-chain",
"kotlin": true
},
{
"problem": "Minimum Deletions to Make Character Frequencies Unique",
"pattern": "Greedy",
"link": "minimum-deletions-to-make-character-frequencies-unique/",
"video": "h8AZEN49gTc",
"difficulty": "Medium",
"code": "1647-minimum-deletions-to-make-character-frequencies-unique",
"java": true,
"kotlin": true
},
{
"problem": "Candy",
"pattern": "Greedy",
"link": "candy/",
"video": "1IzCRCcK17A",
"difficulty": "Hard",
"code": "135-candy"
},
{
"neetcode150": true,
"blind75": true,
"problem": "Insert Interval",
"pattern": "Intervals",
"link": "insert-interval/",
"video": "A8NUOmlwOlM",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0057-insert-interval",
"csharp": true,
"typescript": true,
"swift": true,
"rust": true,
"go": true,
"kotlin": true,
"c": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Merge Intervals",
"pattern": "Intervals",
"link": "merge-intervals/",
"video": "44H3cEC2fFM",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0056-merge-intervals",
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"scala": true,
"c": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Non Overlapping Intervals",
"pattern": "Intervals",
"link": "non-overlapping-intervals/",
"video": "nONCGxWoUfM",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0435-non-overlapping-intervals",
"csharp": true,
"typescript": true,
"go": true,
"scala": true,
"c": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Meeting Rooms",
"premium": true,
"freeLink": "https://www.lintcode.com/problem/920/",
"pattern": "Intervals",
"link": "meeting-rooms/",
"video": "PaJxqZVPhbg",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0252-meeting-rooms",
"csharp": true,
"rust": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Meeting Rooms II",
"premium": true,
"freeLink": "https://www.lintcode.com/problem/919/",
"pattern": "Intervals",
"link": "meeting-rooms-ii/",
"video": "FdzJmTCVyJU",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0253-meeting-rooms-ii",
"csharp": true,
"rust": true,
"kotlin": true
},
{
"problem": "Remove Covered Intervals",
"pattern": "Intervals",
"link": "remove-covered-intervals/",
"video": "nhAsMabiVkM",
"difficulty": "Medium",
"code": "1288-remove-covered-intervals",
"c": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Minimum Interval to Include Each Query",
"pattern": "Intervals",
"link": "minimum-interval-to-include-each-query/",
"video": "5hQ5WWW5awQ",
"difficulty": "Hard",
"python": true,
"java": true,
"cpp": true,
"code": "1851-minimum-interval-to-include-each-query",
"csharp": true,
"javascript": true,
"kotlin": true
},
{
"problem": "Data Stream as Disjoint Intervals",
"pattern": "Intervals",
"link": "data-stream-as-disjoint-intervals/",
"video": "FavoZjPIWpo",
"difficulty": "Hard",
"code": "0352-data-stream-as-disjoint-intervals",
"javascript": true,
"typescript": true,
"go": true,
"rust": true,
"kotlin": true
},
{
"problem": "Excel Sheet Column Title",
"pattern": "Math & Geometry",
"link": "excel-sheet-column-title/",
"video": "X_vJDpCCuoA",
"difficulty": "Easy",
"code": "0168-excel-sheet-column-title",
"java": true,
"python": true,
"kotlin": true
},
{
"problem": "Greatest Common Divisor of Strings",
"pattern": "Math & Geometry",
"link": "greatest-common-divisor-of-strings/",
"video": "i5I_wrbUdzM",
"difficulty": "Easy",
"code": "1071-greatest-common-divisor-of-strings",
"javascript": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true,
"cpp": true
},
{
"problem": "Count Odd Numbers in an Interval Range",
"pattern": "Math & Geometry",
"link": "count-odd-numbers-in-an-interval-range/",
"video": "wrIWye928JQ",
"difficulty": "Easy",
"code": "1523-count-odd-numbers-in-an-interval-range",
"kotlin": true
},
{
"problem": "Matrix Diagonal Sum",
"pattern": "Math & Geometry",
"link": "matrix-diagonal-sum/",
"video": "WliTu6gIK7o",
"difficulty": "Easy",
"code": "1572-matrix-diagonal-sum",
"kotlin": true,
"javascript": true
},
{
"problem": "Maximum Points on a Line",
"pattern": "Math & Geometry",
"link": "max-points-on-a-line/",
"video": "Bb9lOXUOnFw",
"difficulty": "Hard",
"code": "0149-max-points-on-a-line",
"python": true,
"javascript": true,
"typescript": true,
"rust": true,
"cpp": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Rotate Image",
"pattern": "Math & Geometry",
"link": "rotate-image/",
"video": "fMSJSS7eO1w",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0048-rotate-image",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"ruby": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Spiral Matrix",
"pattern": "Math & Geometry",
"link": "spiral-matrix/",
"video": "BJnMZNwUk1M",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0054-spiral-matrix",
"csharp": true,
"typescript": true,
"kotlin": true,
"go": true,
"ruby": true,
"c": true
},
{
"problem": "Spiral Matrix II ",
"pattern": "Math & Geometry",
"link": "spiral-matrix-ii/",
"video": "RvLrWFBJ9fM",
"difficulty": "Medium",
"code": "0059-spiral-matrix-ii",
"javascript": true,
"kotlin": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Set Matrix Zeroes",
"pattern": "Math & Geometry",
"link": "set-matrix-zeroes/",
"video": "T41rL0L3Pnw",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0073-set-matrix-zeroes",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"kotlin": true,
"ruby": true
},
{
"neetcode150": true,
"problem": "Happy Number",
"pattern": "Math & Geometry",
"link": "happy-number/",
"video": "ljz85bxOYJ0",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0202-happy-number",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"ruby": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Plus One",
"pattern": "Math & Geometry",
"link": "plus-one/",
"video": "jIaA8boiG1s",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0066-plus-one",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"swift": true,
"kotlin": true,
"ruby": true,
"rust": true
},
{
"problem": "Palindrome Number",
"pattern": "Math & Geometry",
"link": "palindrome-number/",
"video": "yubRKwixN-U",
"difficulty": "Easy",
"code": "0009-palindrome-number",
"javascript": true,
"typescript": true,
"cpp": true,
"java": true,
"python": true,
"go": true,
"rust": true,
"swift": true,
"c": true,
"kotlin": true
},
{
"problem": "Ugly Number",
"pattern": "Math & Geometry",
"link": "ugly-number/",
"video": "M0Zay1Qr9ws",
"difficulty": "Easy",
"code": "0263-ugly-number",
"c": true,
"cpp": true,
"java": true,
"python": true,
"javascript": true,
"typescript": true,
"go": true,
"rust": true,
"swift": true,
"kotlin": true
},
{
"problem": "Shift 2D Grid",
"pattern": "Math & Geometry",
"link": "shift-2d-grid/",
"video": "nJYFh4Dl-as",
"difficulty": "Easy",
"code": "1260-shift-2d-grid",
"cpp": true,
"java": true,
"python": true,
"javascript": true,
"kotlin": true
},
{
"problem": "Roman to Integer",
"pattern": "Math & Geometry",
"link": "roman-to-integer/",
"video": "3jdxYj3DD98",
"difficulty": "Easy",
"code": "0013-roman-to-integer",
"python": true,
"javascript": true,
"go": true,
"typescript": true,
"rust": true,
"java": true,
"cpp": true,
"kotlin": true
},
{
"problem": "Integer to Roman",
"pattern": "Math & Geometry",
"link": "integer-to-roman/",
"video": "ohBNdSJyLh8",
"difficulty": "Medium",
"code": "0012-integer-to-roman",
"python": true,
"typescript": true,
"go": true,
"rust": true,
"javascript": true,
"cpp": true,
"java": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Pow(x, n)",
"pattern": "Math & Geometry",
"link": "powx-n/",
"video": "g9YQyYi4IQQ",
"difficulty": "Medium",
"python": true,
"java": true,
"javascript": true,
"cpp": true,
"code": "0050-powx-n",
"c": true,
"csharp": true,
"typescript": true,
"swift": true,
"ruby": true,
"kotlin": true
},
{
"neetcode150": true,
"problem": "Multiply Strings",
"pattern": "Math & Geometry",
"link": "multiply-strings/",
"video": "1vZswirL8Y8",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0043-multiply-strings",
"csharp": true,
"typescript": true,
"swift": true,
"ruby": true,
"kotlin": true,
"c": true
},
{
"neetcode150": true,
"problem": "Detect Squares",
"pattern": "Math & Geometry",
"link": "detect-squares/",
"video": "bahebearrDc",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "2013-detect-squares",
"csharp": true,
"kotlin": true,
"ruby": true,
"rust": true
},
{
"problem": "Robot Bounded In Circle",
"pattern": "Math & Geometry",
"link": "robot-bounded-in-circle/",
"video": "nKv2LnC_g6E",
"difficulty": "Medium",
"code": "1041-robot-bounded-in-circle",
"kotlin": true
},
{
"problem": "Zigzag Conversion",
"pattern": "Math & Geometry",
"link": "zigzag-conversion/",
"video": "Q2Tw6gcVEwc",
"difficulty": "Medium",
"code": "0006-zigzag-conversion",
"java": true,
"cpp": true,
"go": true,
"kotlin": true
},
{
"problem": "Find Missing Observations",
"pattern": "Math & Geometry",
"link": "find-missing-observations/",
"video": "86yKkaNi3sU",
"difficulty": "Medium",
"code": "2028-find-missing-observations",
"kotlin": true
},
{
"neetcode150": true,
"problem": "Single Number",
"pattern": "Bit Manipulation",
"link": "single-number/",
"video": "qMPX1AOa83k",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0136-single-number",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true,
"dart": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Number of 1 Bits",
"pattern": "Bit Manipulation",
"link": "number-of-1-bits/",
"video": "5Km3utixwZs",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0191-number-of-1-bits",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Counting Bits",
"pattern": "Bit Manipulation",
"link": "counting-bits/",
"video": "RyBM56RIWrM",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0338-counting-bits",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Reverse Bits",
"pattern": "Bit Manipulation",
"link": "reverse-bits/",
"video": "UcoN6UjAI64",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0190-reverse-bits",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Missing Number",
"pattern": "Bit Manipulation",
"link": "missing-number/",
"video": "WnPLSRLSANE",
"difficulty": "Easy",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0268-missing-number",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"problem": "Shuffle the Array",
"pattern": "Bit Manipulation",
"link": "shuffle-the-array/",
"video": "IvIKD_EU8BY",
"difficulty": "Easy",
"code": "1470-shuffle-the-array",
"javascript": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true,
"c": true
},
{
"problem": "Add to Array-Form of Integer",
"pattern": "Bit Manipulation",
"link": "add-to-array-form-of-integer/",
"video": "eBTZQt1TWfk",
"difficulty": "Easy",
"code": "0989-add-to-array-form-of-integer",
"javascript": true,
"typescript": true,
"go": true,
"kotlin": true,
"rust": true,
"c": true
},
{
"neetcode150": true,
"blind75": true,
"problem": "Sum of Two Integers",
"pattern": "Bit Manipulation",
"link": "sum-of-two-integers/",
"video": "gVUrDV4tZfY",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0371-sum-of-two-integers",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"rust": true
},
{
"neetcode150": true,
"problem": "Reverse Integer",
"pattern": "Bit Manipulation",
"link": "reverse-integer/",
"video": "HAgLH58IgJQ",
"difficulty": "Medium",
"python": true,
"java": true,
"cpp": true,
"javascript": true,
"code": "0007-reverse-integer",
"c": true,
"csharp": true,
"typescript": true,
"go": true,
"ruby": true,
"swift": true,
"kotlin": true,
"scala": true,
"rust": true
},
{
"problem": "Add Binary",
"pattern": "Bit Manipulation",
"link": "add-binary/",
"video": "keuWJ47xG8g",
"difficulty": "Easy",
"code": "0067-add-binary",
"cpp": true,
"java": true,
"python": true,
"kotlin": true,
"rust": true,
"c": true
},
{
"problem": "Create Hello World Function",
"pattern": "JavaScript",
"link": "create-hello-world-function/",
"video": "P9Ldx1eTlRc",
"difficulty": "Easy",
"code": "2667-create-hello-world-function",
"javascript": true,
"typescript": true
},
{
"problem": "Counter",
"pattern": "JavaScript",
"link": "counter/",
"video": "yEGQQAG5V68",
"difficulty": "Easy",
"code": "2620-counter",
"javascript": true,
"typescript": true
},
{
"problem": "Counter II",
"pattern": "JavaScript",
"link": "counter-ii/",
"video": "UXNXKGFZD08",
"difficulty": "Easy",
"code": "2665-counter-ii",
"javascript": true
},
{
"problem": "Apply Transform over each Element in Array",
"pattern": "JavaScript",
"link": "apply-transform-over-each-element-in-array/",
"video": "7FhJHA5jlYk",
"difficulty": "Easy",
"code": "2635-apply-transform-over-each-element-in-array"
},
{
"problem": "Filter Elements from Array",
"pattern": "JavaScript",
"link": "filter-elements-from-array/",
"video": "w1o81gbEEJU",
"difficulty": "Easy",
"code": "2634-filter-elements-from-array"
},
{
"problem": "Array Reduce Transformation",
"pattern": "JavaScript",
"link": "array-reduce-transformation/",
"video": "KmTbYfpGxdM",
"difficulty": "Easy",
"code": "2626-array-reduce-transformation"
},
{
"problem": "Function Composition",
"pattern": "JavaScript",
"link": "function-composition/",
"video": "mIFw1H7Ljco",
"difficulty": "Easy",
"code": "2629-function-composition"
},
{
"problem": "Allow One Function Call",
"pattern": "JavaScript",
"link": "allow-one-function-call/",
"video": "m_SWhM9iX3s",
"difficulty": "Easy",
"code": "2666-allow-one-function-call"
},
{
"problem": "Memoize",
"pattern": "JavaScript",
"link": "memoize/",
"video": "oFXyzJt9VeU",
"difficulty": "Medium",
"code": "2623-memoize"
},
{
"problem": "Curry",
"pattern": "JavaScript",
"link": "curry/",
"video": "pi4kqMWQXxA",
"difficulty": "Medium",
"code": "2632-curry"
},
{
"problem": "Sleep",
"pattern": "JavaScript",
"link": "sleep/",
"video": "P0D9Z6H7O00",
"difficulty": "Easy",
"code": "2621-sleep"
},
{
"problem": "Promise Time Limit",
"pattern": "JavaScript",
"link": "promise-time-limit/",
"video": "hfH57rdZhOk",
"difficulty": "Easy",
"code": "2637-promise-time-limit"
},
{
"problem": "Promise Pool",
"pattern": "JavaScript",
"link": "promise-pool/",
"video": "DB8pAAg-9xw",
"difficulty": "Medium",
"code": "2636-promise-pool"
},
{
"problem": "Cache With Time Limit",
"pattern": "JavaScript",
"link": "cache-with-time-limit/",
"video": "w772gtNK0Gw",
"difficulty": "Medium",
"code": "2622-cache-with-time-limit"
},
{
"problem": "Debounce",
"pattern": "JavaScript",
"link": "debounce/",
"video": "1sxSpnxNx5w",
"difficulty": "Medium",
"code": "2627-debounce"
},
{
"problem": "Throttle",
"pattern": "JavaScript",
"link": "throttle/",
"video": "zyGZV_fIQWk",
"difficulty": "Medium",
"code": "2676-throttle"
},
{
"problem": "JSON Deep Equal",
"pattern": "JavaScript",
"link": "json-deep-equal/",
"video": "4JVZ-mVqJPg",
"difficulty": "Medium",
"code": "2628-json-deep-equal",
"javascript": true
},
{
"problem": "Convert Object to JSON String",
"pattern": "JavaScript",
"link": "convert-object-to-json-string/",
"video": "f94fUbHU-FY",
"difficulty": "Medium",
"code": "2633-convert-object-to-json-string"
},
{
"problem": "Array of Objects to Matrix",
"pattern": "JavaScript",
"link": "array-of-objects-to-matrix/",
"video": "LJwgAMHGcI0",
"difficulty": "Medium",
"code": "2675-array-of-objects-to-matrix"
},
{
"problem": "Difference Between Two Objects",
"pattern": "JavaScript",
"link": "differences-between-two-objects/",
"video": "gH7oZs1WZfg",
"difficulty": "Medium",
"code": "2700-differences-between-two-objects"
},
{
"problem": "Chunk Array",
"pattern": "JavaScript",
"link": "chunk-array/",
"video": "VUN-O3B9ceY",
"difficulty": "Easy",
"code": "2677-chunk-array"
},
{
"problem": "Flatten Deeply Nested Array",
"pattern": "JavaScript",
"link": "flatten-deeply-nested-array/",
"video": "_DetLPKtFNk",
"difficulty": "Medium",
"code": "2625-flatten-deeply-nested-array"
},
{
"problem": "Array Prototype Last",
"pattern": "JavaScript",
"link": "array-prototype-last/",
"video": "3JdtfMBrUqc",
"difficulty": "Easy",
"code": "2619-array-prototype-last"
},
{
"problem": "Group By",
"pattern": "JavaScript",
"link": "group-by/",
"video": "zs9axOyYHRE",
"difficulty": "Medium",
"code": "2631-group-by"
},
{
"problem": "Check if Object Instance of Class",
"pattern": "JavaScript",
"link": "check-if-object-instance-of-class/",
"video": "meIo-Q07Ba8",
"difficulty": "Medium",
"code": "2618-check-if-object-instance-of-class"
},
{
"problem": "Call Function with Custom Context",
"pattern": "JavaScript",
"link": "call-function-with-custom-context/",
"video": "du_GH-Ooa8E",
"difficulty": "Medium",
"code": "2693-call-function-with-custom-context"
},
{
"problem": "Event Emitter",
"pattern": "JavaScript",
"link": "event-emitter/",
"video": "M69bjWFarU0",
"difficulty": "Medium",
"code": "2694-event-emitter"
},
{
"problem": "Array Wrapper",
"pattern": "JavaScript",
"link": "array-wrapper/",
"video": "XoGjPdPTAVA",
"difficulty": "Easy",
"code": "2695-array-wrapper"
},
{
"problem": "Generate Fibonacci Sequence",
"pattern": "JavaScript",
"link": "generate-fibonacci-sequence/",
"video": "T643rQ70Jlk",
"difficulty": "Easy",
"code": "2648-generate-fibonacci-sequence"
},
{
"problem": "Nested Array Generator",
"pattern": "JavaScript",
"link": "nested-array-generator/",
"video": "yo-J1jQaZYU",
"difficulty": "Medium",
"code": "2649-nested-array-generator"
}
]