From cb5f198692ba3770cd0a78affd47ed4e53eb2f94 Mon Sep 17 00:00:00 2001 From: matt Date: Fri, 28 Jul 2023 08:14:11 -0700 Subject: [PATCH] add neetcode solutions --- data/.gitignore | 1 + data/neetcode.json | 6251 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 6252 insertions(+) create mode 100644 data/neetcode.json diff --git a/data/.gitignore b/data/.gitignore index 94548af..b1ee5c2 100644 --- a/data/.gitignore +++ b/data/.gitignore @@ -1,3 +1,4 @@ * */ !.gitignore +!neetcode.json diff --git a/data/neetcode.json b/data/neetcode.json new file mode 100644 index 0000000..e6eea4a --- /dev/null +++ b/data/neetcode.json @@ -0,0 +1,6251 @@ +[ + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Wiggle Sort", + "pattern":"Arrays & Hashing", + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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" + }, + { + "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 + }, + { + "problem":"Design Parking System", + "pattern":"Arrays & Hashing", + "link":"design-parking-system/", + "video":"d5zCHesOrSk", + "difficulty":"Easy", + "code":"1603-design-parking-system", + "kotlin":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 + }, + { + "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 + }, + { + "problem":"Design Underground System", + "pattern":"Arrays & Hashing", + "link":"design-underground-system/", + "video":"W5QOLqXskZM", + "difficulty":"Medium", + "code":"1396-design-underground-system", + "kotlin":true + }, + { + "problem":"Naming a Company", + "pattern":"Arrays & Hashing", + "link":"naming-a-company/", + "video":"NrHpgTScOcY", + "difficulty":"Hard", + "code":"2306-naming-a-company", + "kotlin":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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Validate Stack Sequences", + "pattern":"Stack", + "link":"validate-stack-sequences/", + "video":"mzua0r94kb8", + "difficulty":"Medium", + "code":"0946-validate-stack-sequences", + "kotlin":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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"132 Pattern", + "pattern":"Stack", + "link":"132-pattern/", + "video":"q5ANAl8Z458", + "difficulty":"Medium", + "code":"0132-132-pattern" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Sqrt(x) ", + "pattern":"Binary Search", + "link":"sqrtx/", + "video":"zdMhGxRWutQ", + "difficulty":"Easy", + "code":"0069-sqrtx", + "kotlin":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 + }, + { + "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 + }, + { + "problem":"Find Peak Element", + "pattern":"Binary Search", + "link":"find-peak-element/", + "video":"kMzJy9es7Hc", + "difficulty":"Medium", + "code":"0162-find-peak-element", + "kotlin":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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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" + }, + { + "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 + }, + { + "problem":"Search Suggestions System", + "pattern":"Binary Search", + "link":"search-suggestions-system/", + "video":"D4T2N0yAr20", + "difficulty":"Medium", + "code":"1268-search-suggestions-system", + "java":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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"LFU Cache", + "pattern":"Linked List", + "link":"lfu-cache/", + "video":"bLEIHn-DgoA", + "difficulty":"Hard", + "code":"0460-lfu-cache" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Sort List", + "pattern":"Linked List", + "link":"sort-list/", + "video":"TGveA1oFhrc", + "difficulty":"Medium", + "code":"0148-sort-list", + "java":true, + "python":true, + "c":true + }, + { + "problem":"Partition List", + "pattern":"Linked List", + "link":"partition-list/", + "video":"KT1iUciJr4g", + "difficulty":"Medium", + "code":"0086-partition-list", + "python":true, + "java":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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Insertion Sort List", + "pattern":"Linked List", + "link":"insertion-sort-list/", + "video":"Kk6mXAzqX3Y", + "difficulty":"Medium", + "code":"0147-insertion-sort-list", + "python":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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Symmetric Tree ", + "pattern":"Trees", + "link":"symmetric-tree/", + "video":"Mao9uzxwvmc", + "difficulty":"Easy", + "code":"0101-symmetric-tree", + "kotlin":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 + }, + { + "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 + }, + { + "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 + }, + { + "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" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Operations On Tree", + "pattern":"Trees", + "link":"operations-on-tree/", + "video":"qK4PtjrVD0U", + "difficulty":"Medium", + "code":"1993-operations-on-tree" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Maximum Subsequence Score", + "pattern":"Heap / Priority Queue", + "link":"maximum-subsequence-score/", + "video":"ax1DKi5lJwk", + "difficulty":"Medium", + "code":"2542-maximum-subsequence-score", + "kotlin":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 + }, + { + "problem":"Process Tasks Using Servers", + "pattern":"Heap / Priority Queue", + "link":"process-tasks-using-servers/", + "video":"XKA22PecuMQ", + "difficulty":"Medium", + "code":"1882-process-tasks-using-servers" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Combinations", + "pattern":"Backtracking", + "link":"combinations/", + "video":"q0s6m7AiM7o", + "difficulty":"Medium", + "code":"0077-combinations", + "python":true, + "go":true, + "kotlin":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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Permutations II", + "pattern":"Backtracking", + "link":"permutations-ii/", + "video":"qhBVWf0YafA", + "difficulty":"Medium", + "code":"0047-permutations-ii", + "python":true, + "go":true, + "kotlin":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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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/591/", + "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 + }, + { + "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" + }, + { + "problem":"Shortest Path in a Binary Matrix ", + "pattern":"Graphs", + "link":"shortest-path-in-binary-matrix/", + "video":"YnxUdAO7TAo", + "difficulty":"Medium", + "code":"1091-shortest-path-in-binary-matrix", + "java":true, + "python":true, + "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 + }, + { + "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 + }, + { + "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" + }, + { + "problem":"Is Graph Bipartite?", + "pattern":"Graphs", + "link":"is-graph-bipartite/", + "video":"mev55LTubBY", + "difficulty":"Medium", + "code":"0785-is-graph-bipartite", + "kotlin":true + }, + { + "problem":"Evaluate Division", + "pattern":"Graphs", + "link":"evaluate-division/", + "video":"Uei1fwDoyKk", + "difficulty":"Medium", + "code":"0399-evaluate-division", + "kotlin":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" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Triangle", + "pattern":"1-D Dynamic Programming", + "link":"triangle/", + "video":"OM1MTokvxs4", + "difficulty":"Medium", + "code":"0120-triangle", + "cpp":true, + "java":true, + "python":true, + "kotlin":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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Integer Break", + "pattern":"1-D Dynamic Programming", + "link":"integer-break/", + "video":"in6QbUPMJ3I", + "difficulty":"Medium", + "code":"0343-integer-break", + "cpp":true, + "kotlin":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 + }, + { + "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" + }, + { + "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 + }, + { + "problem":"Uncrossed Lines", + "pattern":"1-D Dynamic Programming", + "link":"uncrossed-lines/", + "video":"mnJF4vJ7GyE", + "difficulty":"Medium", + "code":"1035-uncrossed-lines", + "kotlin":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 + }, + { + "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 + }, + { + "problem":"New 21 Game", + "pattern":"1-D Dynamic Programming", + "link":"new-21-game/", + "video":"zKi4LzjK27k", + "difficulty":"Medium", + "code":"0837-new-21-game", + "kotlin":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" + }, + { + "problem":"Stone Game III", + "pattern":"1-D Dynamic Programming", + "link":"stone-game-iii/", + "video":"HsLG5QW9CFQ", + "difficulty":"Hard", + "code":"1406-stone-game-iii", + "kotlin":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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Stone Game", + "pattern":"2-D Dynamic Programming", + "link":"stone-game/", + "video":"uhgdXOlGYqE", + "difficulty":"Medium", + "code":"0877-stone-game", + "kotlin":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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "neetcode150":true, + "problem":"Edit Distance", + "pattern":"2-D Dynamic Programming", + "link":"edit-distance/", + "video":"XYi2-LPrwm4", + "difficulty":"Hard", + "python":true, + "java":true, + "cpp":true, + "javascript":true, + "code":"0072-edit-distance", + "csharp":true, + "swift":true, + "scala":true, + "kotlin":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 + }, + { + "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 + }, + { + "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" + }, + { + "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 + }, + { + "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 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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Remove Covered Intervals", + "pattern":"Intervals", + "link":"remove-covered-intervals/", + "video":"nhAsMabiVkM", + "difficulty":"Medium", + "code":"1288-remove-covered-intervals", + "c":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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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" + }, + { + "problem":"Zigzag Conversion", + "pattern":"Math & Geometry", + "link":"zigzag-conversion/", + "video":"Q2Tw6gcVEwc", + "difficulty":"Medium", + "code":"0006-zigzag-conversion", + "java":true, + "cpp":true, + "go":true + }, + { + "problem":"Find Missing Observations", + "pattern":"Math & Geometry", + "link":"find-missing-observations/", + "video":"86yKkaNi3sU", + "difficulty":"Medium", + "code":"2028-find-missing-observations" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 (Closure - Day1)", + "pattern":"JavaScript", + "link":"create-hello-world-function/", + "video":"P9Ldx1eTlRc", + "difficulty":"Easy", + "code":"2667-create-hello-world-function" + }, + { + "problem":"Counter (Closure - Day2)", + "pattern":"JavaScript", + "link":"counter/", + "video":"yEGQQAG5V68", + "difficulty":"Easy", + "code":"2620-counter" + }, + { + "problem":"Counter (Closure - Day3)", + "pattern":"JavaScript", + "link":"counter-ii/", + "video":"UXNXKGFZD08", + "difficulty":"Easy", + "code":"2665-counter-ii" + }, + { + "problem":"Apply Transform over each Element in Array (Transform)", + "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 (Transforms)", + "pattern":"JavaScript", + "link":"filter-elements-from-array/", + "video":"w1o81gbEEJU", + "difficulty":"Easy", + "code":"2634-filter-elements-from-array" + }, + { + "problem":"Array Reduce Transformation (Transforms)", + "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" + } +] \ No newline at end of file