From d1f9a4af53426136b89073ae25a392da735c5d43 Mon Sep 17 00:00:00 2001 From: neetcode Date: Sun, 15 Jan 2023 15:04:28 -0800 Subject: [PATCH] Update site data --- .problemList.json | 10 + .problemSiteData.json | 8949 +++++++++-------- ....c => 0225-implement-stack-using-queues.c} | 0 ...nt.cpp => 0496-next-greater-element-i.cpp} | 0 ...ting-rooms.cs => 0253-meeting-rooms-ii.cs} | 0 ...sses.cs => 0929-unique-email-addresses.cs} | 0 ...-numbers.go.go => 0002-add-two-numbers.go} | 0 ...ex-of-the-first-occurrence-in-a-string.go} | 0 ...erary.go => 0332-reconstruct-itinerary.go} | 0 ....go => 0380-insert-delete-getrandom-o1.go} | 0 ...oin-change-2.go => 0518-coin-change-ii.go} | 0 ...=> 1584-min-cost-to-connect-all-points.go} | 0 ...ue-length-3-palindromic-subsequences.java} | 0 ...nt-i.js => 0496-next-greater-element-i.js} | 0 ruby/{0050-power-x-n.rb => 0050-powx-n.rb} | 0 ruby/0053-maximum-sub-array.rb | 11 - ruby/0053-maximum-subarray.rb | 20 +- ...ng.rb => 0076-minimum-window-substring.rb} | 0 ...-merge-triplets-to-form-target-triplet.rb} | 0 ...s => 0104-maximum-depth-of-binary-tree.rs} | 0 ...ting-rooms.rs => 0253-meeting-rooms-ii.rs} | 0 updateSiteData.js | 16 +- 22 files changed, 4739 insertions(+), 4267 deletions(-) rename c/{0225-implement-stack-using-queue.c => 0225-implement-stack-using-queues.c} (100%) rename cpp/{0496-next-greater-element.cpp => 0496-next-greater-element-i.cpp} (100%) rename csharp/{0253-meeting-rooms.cs => 0253-meeting-rooms-ii.cs} (100%) rename csharp/{0929-unique-email-adresses.cs => 0929-unique-email-addresses.cs} (100%) rename go/{0002-add-two-numbers.go.go => 0002-add-two-numbers.go} (100%) rename go/{0028-Find-The-Index-of-The-First-Occurence-in-a-String.go => 0028-find-the-index-of-the-first-occurrence-in-a-string.go} (100%) rename go/{0332-reconstruct-itenerary.go => 0332-reconstruct-itinerary.go} (100%) rename go/{0380-insert-delete-getrandom.go => 0380-insert-delete-getrandom-o1.go} (100%) rename go/{0518-coin-change-2.go => 0518-coin-change-ii.go} (100%) rename go/{1584-min-cost-to-connect.go => 1584-min-cost-to-connect-all-points.go} (100%) rename java/{1930-unique-3-length-palindromic-subsequences.java => 1930-unique-length-3-palindromic-subsequences.java} (100%) rename javascript/{0496-next-greatest-element-i.js => 0496-next-greater-element-i.js} (100%) rename ruby/{0050-power-x-n.rb => 0050-powx-n.rb} (100%) delete mode 100644 ruby/0053-maximum-sub-array.rb rename ruby/{0076-min-window-substring.rb => 0076-minimum-window-substring.rb} (100%) rename ruby/{1899-merge-triplets.rb => 1899-merge-triplets-to-form-target-triplet.rb} (100%) rename rust/{0104-maximum-depth-of-a-binary-tree.rs => 0104-maximum-depth-of-binary-tree.rs} (100%) rename rust/{0253-meeting-rooms.rs => 0253-meeting-rooms-ii.rs} (100%) diff --git a/.problemList.json b/.problemList.json index 7a274e8a4..a632861c6 100644 --- a/.problemList.json +++ b/.problemList.json @@ -585,6 +585,16 @@ "https://leetcode.com/problems/copy-list-with-random-pointer/", "0138" ], + [ + "Design Linked List", + "https://leetcode.com/problems/design-linked-list/", + "0707" + ], + [ + "Design Browser History", + "https://leetcode.com/problems/design-browser-history/", + "1472" + ], [ "Add Two Numbers", "https://leetcode.com/problems/add-two-numbers/", diff --git a/.problemSiteData.json b/.problemSiteData.json index e54cf6d06..ea77eaca8 100644 --- a/.problemSiteData.json +++ b/.problemSiteData.json @@ -1,4240 +1,4713 @@ [ - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "neetcode150":true, - "blind75":true, - "problem":"Encode And Decode Strings", - "premium":true, - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Brick Wall", - "pattern":"Arrays & Hashing", - "link":"brick-wall/", - "video":"Kkmv2h48ekw", - "difficulty":"Medium", - "code":"0554-brick-wall", - "javascript":true, - "typescript":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 - }, - { - "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 - }, - { - "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" - }, - { - "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 - }, - { - "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 - }, - { - "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" - }, - { - "problem":"Grid Game", - "pattern":"Arrays & Hashing", - "link":"grid-game/", - "video":"N4wDSOw65hI", - "difficulty":"Medium", - "code":"2017-grid-game", - "python":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 - }, - { - "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":"Medium", - "code":"0028-find-the-index-of-the-first-occurrence-in-a-string", - "python":true - }, - { - "problem":"Wiggle Sort", - "pattern":"Arrays & Hashing", - "link":"wiggle-sort/", - "video":"vGsyTE4s34w", - "difficulty":"Medium", - "code":"0280-wiggle-sort" - }, - { - "problem":"Largest Number", - "pattern":"Arrays & Hashing", - "link":"largest-number/", - "video":"WDx6Y4i4xJ8", - "difficulty":"Medium", - "code":"0179-largest-number", - "typescript":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 - }, - { - "problem":"Push Dominoes", - "pattern":"Arrays & Hashing", - "link":"push-dominoes/", - "video":"evUFsOb_iLY", - "difficulty":"Medium", - "code":"0838-push-dominoes" - }, - { - "problem":"Repeated Dna Sequences", - "pattern":"Arrays & Hashing", - "link":"repeated-dna-sequences/", - "video":"FzTYfsmtOso", - "difficulty":"Medium", - "code":"0187-repeated-dna-sequences", - "java":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 - }, - { - "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" - }, - { - "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" - }, - { - "problem":"Non Decreasing Array", - "pattern":"Arrays & Hashing", - "link":"non-decreasing-array/", - "video":"RegQckCegDk", - "difficulty":"Medium", - "code":"0665-non-decreasing-array" - }, - { - "problem":"First Missing Positive", - "pattern":"Arrays & Hashing", - "link":"first-missing-positive/", - "video":"8g78yfzMlao", - "difficulty":"Hard", - "code":"0041-first-missing-positive", - "python":true, - "typescript":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 - }, - { - "problem":"Valid Palindrome II", - "pattern":"Two Pointers", - "link":"valid-palindrome-ii/", - "video":"JrxRYBwG6EI", - "difficulty":"Easy", - "code":"0680-valid-palindrome-ii", - "python":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 - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Move Zeroes", - "pattern":"Two Pointers", - "link":"move-zeroes/", - "video":"aayNRwUN3Do", - "difficulty":"Easy", - "code":"0283-move-zeroes", - "c":true, - "cpp":true, - "javascript":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 - }, - { - "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 - }, - { - "problem":"4Sum", - "pattern":"Two Pointers", - "link":"4sum/", - "video":"EYeR-_1NRlQ", - "difficulty":"Medium", - "code":"0018-4sum", - "python":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 - }, - { - "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" - }, - { - "problem":"Rotate Array", - "pattern":"Two Pointers", - "link":"rotate-array/", - "video":"BHr381Guz3Y", - "difficulty":"Medium", - "code":"0189-rotate-array", - "cpp":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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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" - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Baseball Game", - "pattern":"Stack", - "link":"baseball-game/", - "video":"Id_tqGdsZQI", - "difficulty":"Easy", - "code":"0682-baseball-game", - "c":true, - "cpp":true, - "python":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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Asteroid Collision", - "pattern":"Stack", - "link":"asteroid-collision/", - "video":"LN7KjRszjk4", - "difficulty":"Medium", - "code":"0735-asteroid-collision" - }, - { - "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 - }, - { - "problem":"Online Stock Span", - "pattern":"Stack", - "link":"online-stock-span/", - "video":"slYh0ZNEqSw", - "difficulty":"Medium", - "code":"0901-online-stock-span", - "python":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 - }, - { - "problem":"Simplify Path", - "pattern":"Stack", - "link":"simplify-path/", - "video":"qYlHrAKJfyA", - "difficulty":"Medium", - "code":"0071-simplify-path", - "python":true, - "typescript":true - }, - { - "problem":"Decode String", - "pattern":"Stack", - "link":"decode-string/", - "video":"qB0zZpBJlh8", - "difficulty":"Medium", - "code":"0394-decode-string", - "python":true - }, - { - "problem":"Remove K Digits", - "pattern":"Stack", - "link":"remove-k-digits/", - "video":"cFabMOnJaq0", - "difficulty":"Medium", - "code":"0402-remove-k-digits", - "cpp":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 - }, - { - "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" - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Arranging Coins", - "pattern":"Binary Search", - "link":"arranging-coins/", - "video":"5rHz_6s2Buw", - "difficulty":"Easy", - "code":"0441-arranging-coins", - "python":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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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, - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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" - }, - { - "problem":"Search Suggestions System", - "pattern":"Binary Search", - "link":"search-suggestions-system/", - "video":"D4T2N0yAr20", - "difficulty":"Medium", - "code":"1268-search-suggestions-system" - }, - { - "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, - "code":"0206-reverse-linked-list", - "c":true, - "csharp":true, - "typescript":true, - "go":true, - "ruby":true, - "swift":true, - "kotlin":true, - "scala":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 - }, - { - "problem":"Palindrome Linked List", - "pattern":"Linked List", - "link":"palindrome-linked-list/", - "video":"yOzXms1J6Nk", - "difficulty":"Easy", - "code":"0234-palindrome-linked-list", - "cpp":true, - "javascript":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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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, - "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 - }, - { - "problem":"Sort List", - "pattern":"Linked List", - "link":"sort-list/", - "video":"TGveA1oFhrc", - "difficulty":"Medium", - "code":"0147-insertion-sort-list" - }, - { - "problem":"Partition List", - "pattern":"Linked List", - "link":"partition-list/", - "video":"KT1iUciJr4g", - "difficulty":"Medium", - "code":"0086-partition-list" - }, - { - "problem":"Rotate List", - "pattern":"Linked List", - "link":"rotate-list/", - "video":"UcGtPs2LE_c", - "difficulty":"Medium", - "code":"0061-rotate-list" - }, - { - "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 - }, - { - "problem":"Design Circular Queue", - "pattern":"Linked List", - "link":"design-circular-queue/", - "video":"aBbsfn863oA", - "difficulty":"Medium", - "code":"0622-design-circular-queue" - }, - { - "problem":"Insertion Sort List", - "pattern":"Linked List", - "link":"insertion-sort-list/", - "video":"Kk6mXAzqX3Y", - "difficulty":"Medium" - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Path Sum", - "pattern":"Trees", - "link":"path-sum/", - "video":"LSKQyOz_P8I", - "difficulty":"Easy", - "code":"0064-minimum-path-sum", - "cpp":true, - "java":true, - "python":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" - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "problem":"House Robber III", - "pattern":"Trees", - "link":"house-robber-iii/", - "video":"nHR8ytpzz7c", - "difficulty":"Medium", - "code":"0337-house-robber-iii" - }, - { - "problem":"Flip Equivalent Binary Trees", - "pattern":"Trees", - "link":"flip-equivalent-binary-trees/", - "video":"izRDc1il9Pk", - "difficulty":"Medium", - "code":"0951-flip-equivalent-binary-trees" - }, - { - "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" - }, - { - "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 - }, - { - "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" - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Single Threaded Cpu", - "pattern":"Heap / Priority Queue", - "link":"single-threaded-cpu/", - "video":"RR1n-d4oYqE", - "difficulty":"Medium", - "code":"1834-single-threaded-cpu" - }, - { - "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 - }, - { - "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" - }, - { - "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 - }, - { - "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 - }, - { - "neetcode150":true, - "problem":"Subsets", - "pattern":"Backtracking", - "link":"subsets/", - "video":"REOH22Xwdkk", - "difficulty":"Medium", - "code":"0698-partition-to-k-equal-sum-subsets", - }, - { - "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 - }, - { - "problem":"Combinations", - "pattern":"Backtracking", - "link":"combinations/", - "video":"q0s6m7AiM7o", - "difficulty":"Medium", - "code":"0077-combinations", - "python":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 - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Permutations II", - "pattern":"Backtracking", - "link":"permutations-ii/", - "video":"qhBVWf0YafA", - "difficulty":"Medium", - "code":"0047-permutations-ii" - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Restore Ip Addresses", - "pattern":"Backtracking", - "link":"restore-ip-addresses/", - "video":"61tN4YEdiTM", - "difficulty":"Medium", - "code":"0093-restore-ip-addresses" - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Find Unique Binary String", - "pattern":"Backtracking", - "link":"find-unique-binary-string/", - "video":"aHqn4Dynd1k", - "difficulty":"Medium", - "code":"1980-find-unique-binary-string", - "python":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" - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Island Perimeter", - "pattern":"Graphs", - "link":"island-perimeter/", - "video":"fISIuAFRM2s", - "difficulty":"Easy", - "code":"0463-island-perimeter", - "c":true, - "cpp":true, - "csharp":true, - "python":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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "neetcode150":true, - "problem":"Walls And Gates", - "premium":true, - "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 - }, - { - "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 - }, - { - "problem":"Find Eventual Safe States", - "pattern":"Graphs", - "link":"find-eventual-safe-states/", - "video":"Re_v0j0CRsg", - "difficulty":"Medium", - "code":"0802-find-eventual-safe-states" - }, - { - "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 - }, - { - "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" - }, - { - "problem":"Shortest Bridge", - "pattern":"Graphs", - "link":"shortest-bridge/", - "video":"gkINMhbbIbU", - "difficulty":"Medium", - "code":"0934-shortest-bridge" - }, - { - "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 - }, - { - "neetcode150":true, - "blind75":true, - "problem":"Number of Connected Components In An Undirected Graph", - "premium":true, - "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 - }, - { - "neetcode150":true, - "blind75":true, - "problem":"Graph Valid Tree", - "premium":true, - "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":"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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "neetcode150":true, - "blind75":true, - "problem":"Alien Dictionary", - "premium":true, - "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 - }, - { - "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":"0746-min-cost-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/", - "video":"ktmzAZWkEZ0", - "difficulty":"Easy" - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "neetcode150":true, - "blind75":true, - "problem":"Longest Increasing Subsequence", - "pattern":"1-D Dynamic Programming", - "link":"longest-increasing-subsequence/", - "video":"cjWnW0hdF1Y", - "difficulty":"Medium", - "python":true, - "code":"0673-number-of-longest-increasing-subsequence", - }, - { - "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 - }, - { - "problem":"Triangle", - "pattern":"1-D Dynamic Programming", - "link":"triangle/", - "video":"OM1MTokvxs4", - "difficulty":"Medium", - "code":"0120-triangle", - "cpp":true, - "java":true, - "python":true - }, - { - "problem":"Delete And Earn", - "pattern":"1-D Dynamic Programming", - "link":"delete-and-earn/", - "video":"7FCemBxvGw0", - "difficulty":"Medium", - "code":"0740-delete-and-earn" - }, - { - "problem":"Paint House", - "pattern":"1-D Dynamic Programming", - "link":"paint-house/", - "video":"-w67-4tnH5U", - "difficulty":"Medium", - "code":"0256-paint-house" - }, - { - "problem":"Combination Sum IV", - "pattern":"1-D Dynamic Programming", - "link":"combination-sum-iv/", - "video":"dw2nMCxG0ik", - "difficulty":"Medium", - "code":"0377-combination-sum-iv", - "python":true - }, - { - "problem":"Perfect Squares", - "pattern":"1-D Dynamic Programming", - "link":"perfect-squares/", - "video":"HLZLwjzIVGo", - "difficulty":"Medium", - "code":"0279-perfect-squares", - "java":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" - }, - { - "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" - }, - { - "problem":"Integer Break", - "pattern":"1-D Dynamic Programming", - "link":"integer-break/", - "video":"in6QbUPMJ3I", - "difficulty":"Medium", - "code":"0343-integer-break" - }, - { - "problem":"Number of Longest Increasing Subsequence", - "pattern":"1-D Dynamic Programming", - "link":"number-of-longest-increasing-subsequence/", - "video":"Tuc-rjJbsXU", - "difficulty":"Medium" - }, - { - "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" - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Stone Game", - "pattern":"2-D Dynamic Programming", - "link":"stone-game/", - "video":"uhgdXOlGYqE", - "difficulty":"Medium", - "code":"0877-stone-game" - }, - { - "problem":"Minimum Path Sum", - "pattern":"2-D Dynamic Programming", - "link":"minimum-path-sum/", - "video":"pGMsrvt0fpk", - "difficulty":"Medium" - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Count Vowels Permutation", - "pattern":"2-D Dynamic Programming", - "link":"count-vowels-permutation/", - "video":"VUVpTZVa7Ls", - "difficulty":"Hard", - "code":"1220-count-vowels-permutation", - "python":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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Jump Game VII", - "pattern":"Greedy", - "link":"jump-game-vii/", - "video":"v1HpZUnQ4Yo", - "difficulty":"Medium", - "code":"1871-jump-game-vii" - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "neetcode150":true, - "problem":"Merge Triplets to Form Target Triplet", - "pattern":"Greedy", - "link":"merge-triplets-to-form-target-triplet/", - "video":"kShkQLQZ9K4", - "difficulty":"Medium", - "code":"1898-merge-triplets-to-form-target-triplet" - }, - { - "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 - }, - { - "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 - }, - { - "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" - }, - { - "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 - }, - { - "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, - "pattern":"Intervals", - "link":"meeting-rooms/", - "video":"PaJxqZVPhbg", - "difficulty":"Easy", - "python":true, - "java":true, - "cpp":true, - "javascript":true, - "code":"0253-meeting-rooms", - "csharp":true, - "rust":true - }, - { - "neetcode150":true, - "blind75":true, - "problem":"Meeting Rooms II", - "premium":true, - "pattern":"Intervals", - "link":"meeting-rooms-ii/", - "video":"FdzJmTCVyJU", - "difficulty":"Medium", - "python":true, - "code":"0919-meeting-rooms-ii" - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Palindrome Number", - "pattern":"Math & Geometry", - "link":"palindrome-number/", - "video":"yubRKwixN-U", - "difficulty":"Easy", - "code":"0009-palindrome-number", - "javascript":true, - "typescript":true - }, - { - "problem":"Ugly Number", - "pattern":"Math & Geometry", - "link":"ugly-number/", - "video":"M0Zay1Qr9ws", - "difficulty":"Easy", - "code":"0263-ugly-number", - "c":true - }, - { - "problem":"Shift 2D Grid", - "pattern":"Math & Geometry", - "link":"shift-2d-grid/", - "video":"nJYFh4Dl-as", - "difficulty":"Easy", - "code":"1260-shift-2d-grid" - }, - { - "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 - }, - { - "problem":"Integer to Roman", - "pattern":"Math & Geometry", - "link":"integer-to-roman/", - "video":"ohBNdSJyLh8", - "difficulty":"Medium", - "code":"0012-integer-to-roman", - "python":true - }, - { - "neetcode150":true, - "problem":"Pow(x, n)", - "pattern":"Math & Geometry", - "link":"powx-n/", - "video":"g9YQyYi4IQQ", - "difficulty":"Medium", - "python":true, - "java":true, - "cpp":true, - "code":"0050-powx-n", - "c":true, - "csharp":true, - "typescript":true, - "swift":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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "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 - }, - { - "problem":"Add Binary", - "pattern":"Bit Manipulation", - "link":"add-binary/", - "video":"keuWJ47xG8g", - "difficulty":"Easy", - "code":"0067-add-binary" - } + { + "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":"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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Grid Game", + "pattern":"Arrays & Hashing", + "link":"grid-game/", + "video":"N4wDSOw65hI", + "difficulty":"Medium", + "code":"2017-grid-game", + "python":true, + "cpp":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 + }, + { + "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":"Medium", + "code":"0028-find-the-index-of-the-first-occurrence-in-a-string", + "python":true, + "cpp":true, + "go":true + }, + { + "problem":"Wiggle Sort", + "pattern":"Arrays & Hashing", + "link":"wiggle-sort/", + "video":"vGsyTE4s34w", + "difficulty":"Medium", + "code":"0280-wiggle-sort" + }, + { + "problem":"Largest Number", + "pattern":"Arrays & Hashing", + "link":"largest-number/", + "video":"WDx6Y4i4xJ8", + "difficulty":"Medium", + "code":"0179-largest-number", + "typescript":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 + }, + { + "problem":"Push Dominoes", + "pattern":"Arrays & Hashing", + "link":"push-dominoes/", + "video":"evUFsOb_iLY", + "difficulty":"Medium", + "code":"0838-push-dominoes", + "typescript":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 + }, + { + "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 + }, + { + "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" + }, + { + "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" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"4Sum", + "pattern":"Two Pointers", + "link":"4sum/", + "video":"EYeR-_1NRlQ", + "difficulty":"Medium", + "code":"0018-4sum", + "python":true, + "javascript":true, + "typescript":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" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Asteroid Collision", + "pattern":"Stack", + "link":"asteroid-collision/", + "video":"LN7KjRszjk4", + "difficulty":"Medium", + "code":"0735-asteroid-collision", + "java":true, + "javascript":true, + "typescript":true, + "rust":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 + }, + { + "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 + }, + { + "problem":"Decode String", + "pattern":"Stack", + "link":"decode-string/", + "video":"qB0zZpBJlh8", + "difficulty":"Medium", + "code":"0394-decode-string", + "python":true, + "typescript":true, + "rust":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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Arranging Coins", + "pattern":"Binary Search", + "link":"arranging-coins/", + "video":"5rHz_6s2Buw", + "difficulty":"Easy", + "code":"0441-arranging-coins", + "python":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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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" + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Sort List", + "pattern":"Linked List", + "link":"sort-list/", + "video":"TGveA1oFhrc", + "difficulty":"Medium", + "code":"0148-sort-list", + "java":true + }, + { + "problem":"Partition List", + "pattern":"Linked List", + "link":"partition-list/", + "video":"KT1iUciJr4g", + "difficulty":"Medium", + "code":"0086-partition-list" + }, + { + "problem":"Rotate List", + "pattern":"Linked List", + "link":"rotate-list/", + "video":"UcGtPs2LE_c", + "difficulty":"Medium", + "code":"0061-rotate-list" + }, + { + "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 + }, + { + "problem":"Design Circular Queue", + "pattern":"Linked List", + "link":"design-circular-queue/", + "video":"aBbsfn863oA", + "difficulty":"Medium", + "code":"0622-design-circular-queue" + }, + { + "problem":"Insertion Sort List", + "pattern":"Linked List", + "link":"insertion-sort-list/", + "video":"Kk6mXAzqX3Y", + "difficulty":"Medium" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"House Robber III", + "pattern":"Trees", + "link":"house-robber-iii/", + "video":"nHR8ytpzz7c", + "difficulty":"Medium", + "code":"0337-house-robber-iii" + }, + { + "problem":"Flip Equivalent Binary Trees", + "pattern":"Trees", + "link":"flip-equivalent-binary-trees/", + "video":"izRDc1il9Pk", + "difficulty":"Medium", + "code":"0951-flip-equivalent-binary-trees" + }, + { + "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" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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":"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 + }, + { + "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" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Combinations", + "pattern":"Backtracking", + "link":"combinations/", + "video":"q0s6m7AiM7o", + "difficulty":"Medium", + "code":"0077-combinations", + "python":true, + "go":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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Permutations II", + "pattern":"Backtracking", + "link":"permutations-ii/", + "video":"qhBVWf0YafA", + "difficulty":"Medium", + "code":"0047-permutations-ii" + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Restore Ip Addresses", + "pattern":"Backtracking", + "link":"restore-ip-addresses/", + "video":"61tN4YEdiTM", + "difficulty":"Medium", + "code":"0093-restore-ip-addresses" + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Find Unique Binary String", + "pattern":"Backtracking", + "link":"find-unique-binary-string/", + "video":"aHqn4Dynd1k", + "difficulty":"Medium", + "code":"1980-find-unique-binary-string", + "python":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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Find Eventual Safe States", + "pattern":"Graphs", + "link":"find-eventual-safe-states/", + "video":"Re_v0j0CRsg", + "difficulty":"Medium", + "code":"0802-find-eventual-safe-states" + }, + { + "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":"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 + }, + { + "problem":"Shortest Bridge", + "pattern":"Graphs", + "link":"shortest-bridge/", + "video":"gkINMhbbIbU", + "difficulty":"Medium", + "code":"0934-shortest-bridge" + }, + { + "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 + }, + { + "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":"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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Delete And Earn", + "pattern":"1-D Dynamic Programming", + "link":"delete-and-earn/", + "video":"7FCemBxvGw0", + "difficulty":"Medium", + "code":"0740-delete-and-earn" + }, + { + "problem":"Paint House", + "pattern":"1-D Dynamic Programming", + "link":"paint-house/", + "video":"-w67-4tnH5U", + "difficulty":"Medium", + "code":"0256-paint-house" + }, + { + "problem":"Combination Sum IV", + "pattern":"1-D Dynamic Programming", + "link":"combination-sum-iv/", + "video":"dw2nMCxG0ik", + "difficulty":"Medium", + "code":"0377-combination-sum-iv", + "python":true + }, + { + "problem":"Perfect Squares", + "pattern":"1-D Dynamic Programming", + "link":"perfect-squares/", + "video":"HLZLwjzIVGo", + "difficulty":"Medium", + "code":"0279-perfect-squares", + "java":true, + "go":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" + }, + { + "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" + }, + { + "problem":"Integer Break", + "pattern":"1-D Dynamic Programming", + "link":"integer-break/", + "video":"in6QbUPMJ3I", + "difficulty":"Medium", + "code":"0343-integer-break" + }, + { + "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 + }, + { + "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" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "problem":"Stone Game", + "pattern":"2-D Dynamic Programming", + "link":"stone-game/", + "video":"uhgdXOlGYqE", + "difficulty":"Medium", + "code":"0877-stone-game" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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" + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + }, + { + "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 + } ] \ No newline at end of file diff --git a/c/0225-implement-stack-using-queue.c b/c/0225-implement-stack-using-queues.c similarity index 100% rename from c/0225-implement-stack-using-queue.c rename to c/0225-implement-stack-using-queues.c diff --git a/cpp/0496-next-greater-element.cpp b/cpp/0496-next-greater-element-i.cpp similarity index 100% rename from cpp/0496-next-greater-element.cpp rename to cpp/0496-next-greater-element-i.cpp diff --git a/csharp/0253-meeting-rooms.cs b/csharp/0253-meeting-rooms-ii.cs similarity index 100% rename from csharp/0253-meeting-rooms.cs rename to csharp/0253-meeting-rooms-ii.cs diff --git a/csharp/0929-unique-email-adresses.cs b/csharp/0929-unique-email-addresses.cs similarity index 100% rename from csharp/0929-unique-email-adresses.cs rename to csharp/0929-unique-email-addresses.cs diff --git a/go/0002-add-two-numbers.go.go b/go/0002-add-two-numbers.go similarity index 100% rename from go/0002-add-two-numbers.go.go rename to go/0002-add-two-numbers.go diff --git a/go/0028-Find-The-Index-of-The-First-Occurence-in-a-String.go b/go/0028-find-the-index-of-the-first-occurrence-in-a-string.go similarity index 100% rename from go/0028-Find-The-Index-of-The-First-Occurence-in-a-String.go rename to go/0028-find-the-index-of-the-first-occurrence-in-a-string.go diff --git a/go/0332-reconstruct-itenerary.go b/go/0332-reconstruct-itinerary.go similarity index 100% rename from go/0332-reconstruct-itenerary.go rename to go/0332-reconstruct-itinerary.go diff --git a/go/0380-insert-delete-getrandom.go b/go/0380-insert-delete-getrandom-o1.go similarity index 100% rename from go/0380-insert-delete-getrandom.go rename to go/0380-insert-delete-getrandom-o1.go diff --git a/go/0518-coin-change-2.go b/go/0518-coin-change-ii.go similarity index 100% rename from go/0518-coin-change-2.go rename to go/0518-coin-change-ii.go diff --git a/go/1584-min-cost-to-connect.go b/go/1584-min-cost-to-connect-all-points.go similarity index 100% rename from go/1584-min-cost-to-connect.go rename to go/1584-min-cost-to-connect-all-points.go diff --git a/java/1930-unique-3-length-palindromic-subsequences.java b/java/1930-unique-length-3-palindromic-subsequences.java similarity index 100% rename from java/1930-unique-3-length-palindromic-subsequences.java rename to java/1930-unique-length-3-palindromic-subsequences.java diff --git a/javascript/0496-next-greatest-element-i.js b/javascript/0496-next-greater-element-i.js similarity index 100% rename from javascript/0496-next-greatest-element-i.js rename to javascript/0496-next-greater-element-i.js diff --git a/ruby/0050-power-x-n.rb b/ruby/0050-powx-n.rb similarity index 100% rename from ruby/0050-power-x-n.rb rename to ruby/0050-powx-n.rb diff --git a/ruby/0053-maximum-sub-array.rb b/ruby/0053-maximum-sub-array.rb deleted file mode 100644 index a0417a6e4..000000000 --- a/ruby/0053-maximum-sub-array.rb +++ /dev/null @@ -1,11 +0,0 @@ -def max_sub_array(nums) - max_sub = nums[0] - current_sum = 0 - - nums.each do |num| - current_sum = 0 if current_sum < 0 - current_sum += num - max_sub = [max_sub,current_sum].max - end - return max_sub -end \ No newline at end of file diff --git a/ruby/0053-maximum-subarray.rb b/ruby/0053-maximum-subarray.rb index e94c2c81d..a0417a6e4 100644 --- a/ruby/0053-maximum-subarray.rb +++ b/ruby/0053-maximum-subarray.rb @@ -1,13 +1,11 @@ def max_sub_array(nums) - sum = 0 - max = -10 * 10 * 10 * 10 - 1 + max_sub = nums[0] + current_sum = 0 - nums.each do |num| - sum += num - max = sum > max ? sum : max - - sum = 0 if sum < 0 - end - - max -end + nums.each do |num| + current_sum = 0 if current_sum < 0 + current_sum += num + max_sub = [max_sub,current_sum].max + end + return max_sub +end \ No newline at end of file diff --git a/ruby/0076-min-window-substring.rb b/ruby/0076-minimum-window-substring.rb similarity index 100% rename from ruby/0076-min-window-substring.rb rename to ruby/0076-minimum-window-substring.rb diff --git a/ruby/1899-merge-triplets.rb b/ruby/1899-merge-triplets-to-form-target-triplet.rb similarity index 100% rename from ruby/1899-merge-triplets.rb rename to ruby/1899-merge-triplets-to-form-target-triplet.rb diff --git a/rust/0104-maximum-depth-of-a-binary-tree.rs b/rust/0104-maximum-depth-of-binary-tree.rs similarity index 100% rename from rust/0104-maximum-depth-of-a-binary-tree.rs rename to rust/0104-maximum-depth-of-binary-tree.rs diff --git a/rust/0253-meeting-rooms.rs b/rust/0253-meeting-rooms-ii.rs similarity index 100% rename from rust/0253-meeting-rooms.rs rename to rust/0253-meeting-rooms-ii.rs diff --git a/updateSiteData.js b/updateSiteData.js index 9f68d7570..a17aca649 100644 --- a/updateSiteData.js +++ b/updateSiteData.js @@ -94,6 +94,7 @@ for (const lang of languages) { // Use leetcode url path to rename each problem for consistency let problemName = problem[1].replace('https://leetcode.com/problems/', ''); + const problemUrlName =`${problemName}`; // deep copy problemName; problemName = problemName.replace('/', '').toLowerCase(); // Use problem number to find each problem @@ -105,10 +106,11 @@ for (const lang of languages) { // rename file to match leetcode url path const oldFile = `${langDir}/${foundFile.name}`; const newFile = `${langDir}/${newProblemNumber}-${problemName}.${langExt}`; - fs.renameSync(oldFile, newFile); - counter++; - - updateSiteData(url, `${newProblemNumber}-${problemName}`, langDir); + if (oldFile !== newFile) { + fs.renameSync(oldFile, newFile); + counter++; + } + updateSiteData(problemUrlName, `${newProblemNumber}-${problemName}`, langDir); } } } @@ -124,16 +126,16 @@ function updateProblemNumber(problemNumberInt) { return problemNumber; } -function updateSiteData(problemUrl, newCodeLink, langName) { +function updateSiteData(problemUrlName, newCodeLink, langName) { for (const p of PROBLEMS_SITE_DATA) { // TODO: Bug here where some problem names are too similar (e.g. LC 300 and LC 673) - if (problemUrl.includes(p.link)) { + if (problemUrlName === p.link) { p.code = newCodeLink; p[langName] = true; return; } } - console.log(`Could not find ${problemUrl} in PROBLEMS_SITE_DATA.`); + console.log(`Could not find ${problemUrlName} in PROBLEMS_SITE_DATA for ${langName}.`); }