1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[176264],{176264:(i,e,t)=>{t.r(e),t.d(e,{DSAProblemsBlockComponent:()=>y,default:()=>f});var a=t(695155),n=t(212115),r=t(598500),s=t.n(r),l=t(412651),m=t(316950),o=t(298613),u=t(890501),d=t(822756);let c=null;function y({node:i}){let{title:e,problems:t=[]}=i.fields,r=(0,o.k)(i=>i.userId),[f,_]=(0,n.useState)(new Set),h=(0,n.useMemo)(()=>t.map(i=>{var e;return i.slug?(e=i.slug,(function(){if(c)return c;let i=new Map;for(let e of Object.values(d.L))for(let t of e.problems){if(!t.external_link)continue;let a={id:t.id,title:t.title,slug:t.external_link,difficulty:t.difficulty,patternName:e.name,isPremium:t.isPremium,runnable:t.runnable};i.has(a.slug)||i.set(a.slug,a),i.has(a.id)||i.set(a.id,a);let n=a.title.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,"");i.has(n)||i.set(n,a)}return c=i,i})().get(e.trim())):void 0}).filter(i=>!!i),[t]),g=(0,n.useMemo)(()=>new Set(h.map(i=>i.patternName)).size>1,[h]);if((0,n.useEffect)(()=>{if(!r||0===h.length)return;let i=!1;return fetch("/api/v1/practice/dsa-patterns/solved-problems").then(i=>i.ok?i.json():null).then(e=>{!i&&e&&Array.isArray(e.solvedProblemIds)&&_(new Set(e.solvedProblemIds))}).catch(()=>{}),()=>{i=!0}},[r,h.length]),0===h.length)return null;let p=h.filter(i=>f.has(i.id)).length;return(0,a.jsxs)("div",{className:"my-6 space-y-3",children:[(e||r)&&(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e&&(0,a.jsx)("span",{className:"text-lg font-semibold",children:e}),r&&(0,a.jsxs)("span",{className:"ml-auto text-sm text-muted-foreground",children:[p," of ",h.length," solved"]})]}),(0,a.jsx)("div",{className:"overflow-x-auto rounded-lg border border-border",children:(0,a.jsxs)("table",{className:"w-full border-collapse text-base",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"bg-muted/50 text-left",children:[(0,a.jsx)("th",{className:"w-14 px-4 py-3 text-sm font-medium",children:"#"}),r&&(0,a.jsx)("th",{className:"w-10 px-2 py-3 text-sm font-medium",children:(0,a.jsx)("span",{className:"sr-only",children:"Status"})}),(0,a.jsx)("th",{className:"px-4 py-3 text-sm font-medium",children:"Problem"}),(0,a.jsx)("th",{className:"w-32 py-3 pl-4 pr-6 text-sm font-medium md:pr-4",children:"Difficulty"}),g&&(0,a.jsx)("th",{className:"hidden w-40 py-3 pl-4 pr-6 text-sm font-medium md:table-cell",children:"Pattern"})]})}),(0,a.jsx)("tbody",{children:h.map((i,e)=>{let t=f.has(i.id),n=!1===i.runnable?`https://leetcode.com/problems/${i.slug}`:`/practice/dsa/${i.slug}`;return(0,a.jsxs)("tr",{className:"border-t border-border transition-colors hover:bg-muted/40",children:[(0,a.jsx)("td",{className:"px-4 py-4 font-mono text-sm text-muted-foreground",children:e+1}),r&&(0,a.jsx)("td",{className:"px-2 py-4",children:t?(0,a.jsx)(l.A,{className:"h-5 w-5 text-emerald-500","aria-label":"Solved"}):(0,a.jsx)(m.A,{className:"h-5 w-5 text-muted-foreground/40","aria-label":"Not solved"})}),(0,a.jsx)("td",{className:"px-4 py-4",children:(0,a.jsx)(s(),{href:n,target:"_blank",rel:"noopener noreferrer",className:"font-medium text-blue-600 hover:underline",children:i.title})}),(0,a.jsx)("td",{className:`py-4 pl-4 pr-6 text-sm font-medium md:pr-4 ${u.o[(i.difficulty??"").toLowerCase()]??""}`,children:i.difficulty}),g&&(0,a.jsx)("td",{className:"hidden py-4 pl-4 pr-6 text-sm text-muted-foreground md:table-cell",children:i.patternName})]},i.slug)})})]})})]})}let f=y},822756:(i,e,t)=>{t.d(e,{L:()=>a});let a={1:{id:"1",name:"Arrays",info_path:"/learn/dsa/arrays-introduction",problems:[{id:"485",title:"Max Consecutive Ones",external_link:"max-consecutive-ones",animation_path:"max-consecutive-ones",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array"]},{id:"414",title:"Third Maximum Number",external_link:"third-maximum-number",animation_path:"third-maximum-number",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Array","Sorting"]},{id:"283",title:"Move Zeroes",external_link:"move-zeroes",animation_path:"move-zeroes",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:5,tags:["Array","Two Pointers"]},{id:"1470",title:"Shuffle the Array",external_link:"shuffle-the-array",animation_path:"shuffle-the-array",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array"]},{id:"169",title:"Majority Element",external_link:"majority-element",animation_path:"majority-element",difficulty:"Easy",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Hash Table","Sorting","Counting","Divide and Conquer"]},{id:"26",title:"Remove Duplicates from Sorted Array",external_link:"remove-duplicates-from-sorted-array",animation_path:"remove-duplicates-from-sorted-array",difficulty:"Easy",lists:["am_600","am_300"],frequency:5,tags:["Array","Two Pointers"]},{id:"27",title:"Remove Element",external_link:"remove-element",animation_path:"remove-element",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array","Two Pointers"]},{id:"121",title:"Best Time to Buy and Sell Stock",external_link:"best-time-to-buy-and-sell-stock",animation_path:"best-time-to-buy-and-sell-stock",difficulty:"Easy",lists:["am_600","am_300"],frequency:5,tags:["Array","Dynamic Programming"]},{id:"163",title:"Missing Ranges",external_link:"missing-ranges",animation_path:"missing-ranges",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Array"]},{id:"229",title:"Majority Element II",external_link:"majority-element-ii",animation_path:"majority-element-ii",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Hash Table","Sorting","Counting"]},{id:"189",title:"Rotate Array",external_link:"rotate-array",animation_path:"rotate-array",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Array","Math","Two Pointers"]},{id:"238",title:"Product of Array Except Self",external_link:"product-of-array-except-self",animation_path:"product-of-array-except-self",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Array","Prefix Sum"]}
1,{id:"80",title:"Remove Duplicates from Sorted Array II",external_link:"remove-duplicates-from-sorted-array-ii",animation_path:"remove-duplicates-from-sorted-array-ii",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Two Pointers"]},{id:"122",title:"Best Time to Buy and Sell Stock II",external_link:"best-time-to-buy-and-sell-stock-ii",animation_path:"best-time-to-buy-and-sell-stock-ii",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Dynamic Programming","Greedy"]},{id:"2348",title:"Number of Zero-Filled Subarrays",external_link:"number-of-zero-filled-subarrays",animation_path:"number-of-zero-filled-subarrays",difficulty:"Medium",lists:["am_600","am_300"],frequency:1,tags:["Array","Math"]},{id:"334",title:"Increasing Triplet Subsequence",external_link:"increasing-triplet-subsequence",animation_path:"increasing-triplet-subsequence",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Greedy"]},{id:"31",title:"Next Permutation",external_link:"next-permutation",animation_path:"next-permutation",difficulty:"Medium",lists:["am_600"],frequency:5,tags:["Array","Two Pointers"]},{id:"41",title:"First Missing Positive",external_link:"first-missing-positive",animation_path:"first-missing-positive",difficulty:"Hard",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Array","Hash Table"]}]},2:{id:"2",name:"Strings",info_path:"https://www.youtube.com/watch?v=yMkFYxrDL2M",problems:[{id:"344",title:"Reverse String",external_link:"reverse-string",animation_path:"reverse-string",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["String","Two Pointers"]},{id:"58",title:"Length of Last Word",external_link:"length-of-last-word",animation_path:"length-of-last-word",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["String"]},{id:"392",title:"Is Subsequence",external_link:"is-subsequence",animation_path:"is-subsequence",difficulty:"Easy",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["String","Dynamic Programming","Two Pointers"]},{id:"125",title:"Valid Palindrome",external_link:"valid-palindrome",animation_path:"valid-palindrome",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:5,tags:["String","Two Pointers"]},{id:"680",title:"Valid Palindrome II",external_link:"valid-palindrome-ii",animation_path:"valid-palindrome-ii",difficulty:"Easy",lists:["am_600"],frequency:5,tags:["String","Greedy","Two Pointers"]},{id:"242",title:"Valid Anagram",external_link:"valid-anagram",animation_path:"valid-anagram",difficulty:"Easy",lists:["am_600"],frequency:5,tags:["String","Hash Table","Sorting"]},{id:"796",title:"Rotate String",external_link:"rotate-string",animation_path:"rotate-string",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["String","String Matching"]},{id:"14",title:"Longest Common Prefix",external_link:"longest-common-prefix",animation_path:"longest-common-prefix",difficulty:"Easy",lists:["am_600","am_300"],frequency:5,tags:["Array","String","Trie"]},{id:"409",title:"Longest Palindrome",external_link:"longest-palindrome",animation_path:"longest-palindrome",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["String","Hash Table","Greedy"]},{id:"28",title:"Find the Index of the First Occurrence in a String",external_link:"find-the-index-of-the-first-occurrence-in-a-string",animation_path:"find-the-index-of-the-first-occurrence-in-a-string",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["String","Two Pointers","String Matching"]},{id:"161",title:"One Edit Distance",external_link:"one-edit-distance",animation_path:"one-edit-distance",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["String","Two Pointers"]},{id:"6",title:"Zigzag Conversion",external_link:"zigzag-conversion",animation_path:"zigzag-conversion",difficulty:"Medium",lists:["am_600","am_300"],frequency:5,tags:["String"]},{id:"38",title:"Count and Say",external_link:"count-and-say",animation_path:"count-and-say",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["String"]},{id:"151",title:"Reverse Words in a String",external_link:"reverse-words-in-a-string",animation_path:"reverse-words-in-a-string",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["String","Two Pointers"]},{id:"1657",title:"Determine if Two Strings Are Close",external_link:"determine-if-two-strings-are-close",animation_path:"determine-if-two-strings-are-close",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["String","Hash Table","Sorting","Counting"]},{id:"616",title:"Add Bold Tag in String",external_link:"add-bold-tag-in-string",animation_path:"add-bold-tag-in-string",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","String","Hash Table","Trie","String Matching"]}
1,{id:"68",title:"Text Justification",external_link:"text-justification",animation_path:"text-justification",difficulty:"Hard",lists:["am_600"],frequency:5,tags:["Array","String","Simulation"]},{id:"843",title:"Guess the Word",external_link:"guess-the-word",difficulty:"Hard",lists:["am_600","am_300"],frequency:4,runnable:!1,tags:["Array","String","Math","Game Theory","Interactive"]}]},3:{id:"3",name:"Bit Manipulation",info_path:"/learn/dsa/bit-manipulation-introduction",problems:[{id:"136",title:"Single Number",external_link:"single-number",animation_path:"single-number",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Bit Manipulation"]},{id:"268",title:"Missing Number",external_link:"missing-number",animation_path:"missing-number",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array","Hash Table","Math","Sorting","Binary Search"]},{id:"645",title:"Set Mismatch",external_link:"set-mismatch",animation_path:"set-mismatch",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array","Hash Table","Sorting","Bit Manipulation"]},{id:"231",title:"Power of Two",external_link:"power-of-two",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Math","Bit Manipulation","Recursion"]},{id:"191",title:"Number of 1 Bits",external_link:"number-of-1-bits",animation_path:"number-of-1-bits",difficulty:"Easy",lists:["am_600","am_300"],frequency:3,tags:["Bit Manipulation","Divide and Conquer"]},{id:"338",title:"Counting Bits",external_link:"counting-bits",animation_path:"counting-bits",difficulty:"Easy",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["Dynamic Programming","Bit Manipulation"]},{id:"461",title:"Hamming Distance",external_link:"hamming-distance",animation_path:"hamming-distance",difficulty:"Easy",lists:["am_600"],frequency:2,tags:["Bit Manipulation"]},{id:"190",title:"Reverse Bits",external_link:"reverse-bits",animation_path:"reverse-bits",difficulty:"Easy",lists:["am_600","am_300"],frequency:3,tags:["Bit Manipulation","Divide and Conquer"]},{id:"201",title:"Bitwise AND of Numbers Range",external_link:"bitwise-and-of-numbers-range",animation_path:"bitwise-and-of-numbers-range",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Bit Manipulation"]},{id:"137",title:"Single Number II",external_link:"single-number-ii",animation_path:"single-number-ii",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Bit Manipulation"]},{id:"260",title:"Single Number III",external_link:"single-number-iii",animation_path:"single-number-iii",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:2,tags:["Array","Bit Manipulation"]},{id:"371",title:"Sum of Two Integers",external_link:"sum-of-two-integers",animation_path:"sum-of-two-integers",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Math","Bit Manipulation"]}]},4:{id:"4",name:"Hash Tables",info_path:"/learn/dsa/hash-tables-introduction",problems:[{id:"706",title:"Design HashMap",external_link:"design-hashmap",animation_path:"design-hashmap",difficulty:"Easy",lists:["am_600","am_300"],frequency:4,tags:["Array","Hash Table","Design","Linked List","Hash Function"]},{id:"217",title:"Contains Duplicate",external_link:"contains-duplicate",animation_path:"contains-duplicate",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array","Hash Table","Sorting"]},{id:"290",title:"Word Pattern",external_link:"word-pattern",animation_path:"word-pattern",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["String","Hash Table"]},{id:"387",title:"First Unique Character in a String",external_link:"first-unique-character-in-a-string",animation_path:"first-unique-character-in-a-string",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["String","Hash Table","Counting","Queue"]},{id:"448",title:"Find All Numbers Disappeared in an Array",external_link:"find-all-numbers-disappeared-in-an-array",animation_path:"find-all-numbers-disappeared-in-an-array",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Array","Hash Table"]},{id:"1189",title:"Maximum Number of Balloons",external_link:"maximum-number-of-balloons",animation_path:"maximum-number-of-balloons",difficulty:"Easy",lists:["am_600","am_300"],frequency:1,tags:["String","Hash Table","Counting"]},{id:"1512",title:"Number of Good Pairs",external_link:"number-of-good-pairs",animation_path:"number-of-good-pairs",difficulty:"Easy",lists:["am_600","am_300"],frequency:3,tags:["Array","Hash Table","Math","Counting"]},{id:"205",title:"Isomorphic Strings",external_link:"isomorphic-strings",animation_path:"isomorphic-strings",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:4,tags:["String","Hash Table"]},{id:"383",title:"Ransom Note",external_link:"ransom-note",animation_path:"ransom-note",difficulty:"Easy",lists:["am_600","am_300"],frequency:3,tags:["String","Hash Table","Counting"]},{id:"219",title:"Contains Duplicate II",external_link:"contains-duplicate-ii",animation_path:"contains-duplicate-ii",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Hash Table","Sliding Window"]},{id:"350",title:"Intersection of Two Arrays II",external_link:"intersection-of-two-arrays-ii",animation_path:"intersection-of-two-arrays-ii",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Array","Hash Table","Sorting","Binary Search","Two Pointers"]},{id:"49",title:"Group Anagrams",external_link:"group-anagrams",animation_path:"group-anagrams",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","String","Hash Table","Sorting"]},{id:"535",title:"Encode and Decode TinyURL",external_link:"encode-and-decode-tinyurl",animation_path:"encode-and-decode-tinyurl",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["String","Hash Table","Design","Hash Function"]},{id:"767",title:"Reorganize String",external_link:"reorganize-string",animation_path:"reorganize-string",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["String","Hash Table","Sorting","Greedy","Heap (Priority Queue)"]},{id:"128",title:"Longest Consecutive Sequence",external_link:"longest-consecutive-sequence",animation_path:"longest-consecutive-sequence",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Hash Table","Union-Find"]},{id:"659",title:"Split Array into Consecutive Subsequences",external_link:"split-array-into-consecutive-subsequences",animation_path:"split-array-into-consecutive-subsequences",difficulty:"Medium",lists:["am_600","am_300"],frequency:1,tags:["Array","Hash Table","Greedy","Heap (Priority Queue)"]},{id:"792",title:"Number of Matching Subsequences",external_link:"number-of-matching-subsequences",animation_path:"number-of-matching-subsequences",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","String","Hash Table","Dynamic Programming","Sorting"]},{id:"1525",title:"Number of Good Ways to Split a String",external_link:"number-of-good-ways-to-split-a-string",animation_path:"number-of-good-ways-to-split-a-string",difficulty:"Medium",lists:["am_600","am_300"],frequency:1,tags:["String","Hash Table","Dynamic Programming","Bit Manipulation"]},{id:"249",title:"Group Shifted Strings",external_link:"group-shifted-strings",animation_path:"group-shifted-strings",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","String","Hash Table"]},{id:"1647",title:"Minimum Deletions to Make Character Frequencies Unique",external_link:"minimum-deletions-to-make-character-frequencies-unique",animation_path:"minimum-deletions-to-make-character-frequencies-unique",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["String","Hash Table","Sorting","Greedy"]}]},5:{id:"5",name:"Two Pointers",info_path:"/learn/dsa/two-pointers-introduction",problems:[{id:"88",title:"Merge Sorted Array",external_link:"merge-sorted-array",animation_path:"merge-sorted-array",difficulty:"Easy",lists:["am_600","am_300"],frequency:5,tags:["Array","Sorting","Two Pointers"]},{id:"1768",title:"Merge Strings Alternately",external_link:"merge-strings-alternately",animation_path:"merge-strings-alternately",difficulty:"Easy",lists:["am_600"],frequency:5,tags:["String","Two Pointers"]},{id:"977",title:"Squares of a Sorted Array",external_link:"squares-of-a-sorted-array",animation_path:"squares-of-a-sorted-array",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array","Sorting","Two Pointers"]},{id:"1",title:"Two Sum",external_link:"two-sum",animation_path:"two-sum",difficulty:"Easy",lists:["am_600"],frequency:5,tags:["Array","Hash Table"]},{id:"844",title:"Backspace String Compare",external_link:"backspace-string-compare",animation_path:"backspace-string-compare",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["String","Two Pointers","Simulation","Stack"]},{id:"408",title:"Valid Word Abbreviation",external_link:"valid-word-abbreviation",animation_path:"valid-word-abbreviation",difficulty:"Easy",lists:["am_600"],frequency:5,tags:["String","Two Pointers"]},{id:"696",title:"Count Binary Substrings",external_link:"count-binary-substrings",animation_path:"count-binary-substrings",difficulty:"Easy",lists:["am_600"],frequency:5,tags:["String","Two Pointers"]},{id:"167",title:"Two Sum II - Input Array Is Sorted",external_link:"two-sum-ii-input-array-is-sorted",animation_path:"two-sum-ii-input-array-is-sorted",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Binary Search","Two Pointers"]},{id:"11",title:"Container With Most Water",external_link:"container-with-most-water",animation_path:"container-with-most-water",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Greedy","Two Pointers"]},{id:"15",title:"3Sum",external_link:"3Sum",animation_path:"3Sum",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Sorting","Two Pointers"]},{id:"18",title:"4Sum",external_link:"4Sum",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Sorting","Two Pointers"]}
1,{id:"443",title:"String Compression",external_link:"string-compression",animation_path:"string-compression",difficulty:"Medium",lists:["am_600"],frequency:5,tags:["String","Two Pointers"]},{id:"861",title:"Boats to Save People",external_link:"boats-to-save-people",animation_path:"boats-to-save-people",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Array","Greedy","Bit Manipulation","Matrix"]},{id:"5",title:"Longest Palindromic Substring",external_link:"longest-palindromic-substring",animation_path:"longest-palindromic-substring",difficulty:"Medium",lists:["am_600"],frequency:5,tags:["String","Dynamic Programming","Two Pointers"]},{id:"42",title:"Trapping Rain Water",external_link:"trapping-rain-water",animation_path:"trapping-rain-water",difficulty:"Hard",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Dynamic Programming","Two Pointers","Stack","Monotonic Stack"]},{id:"2444",title:"Count Subarrays With Fixed Bounds",external_link:"count-subarrays-with-fixed-bounds",animation_path:"count-subarrays-with-fixed-bounds",difficulty:"Hard",lists:["am_600"],frequency:2,tags:["Array","Sliding Window","Queue","Monotonic Queue"]}]},6:{id:"6",name:"Prefix Sum",info_path:"/learn/dsa/prefix-sum-introduction",problems:[{id:"1480",title:"Running Sum of 1d Array",external_link:"running-sum-of-1d-array",animation_path:"running-sum-of-1d-array",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array","Prefix Sum"]},{id:"303",title:"Range Sum Query - Immutable",external_link:"range-sum-query-immutable",animation_path:"range-sum-query-immutable",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:3,tags:["Array","Prefix Sum","Design"]},{id:"724",title:"Find Pivot Index",external_link:"find-pivot-index",animation_path:"find-pivot-index",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Array","Prefix Sum"]},{id:"1854",title:"Maximum Population Year",external_link:"maximum-population-year",animation_path:"maximum-population-year",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array","Prefix Sum","Counting"]},{id:"370",title:"Range Addition",external_link:"range-addition",animation_path:"range-addition",difficulty:"Medium",lists:["am_600"],frequency:1,tags:["Array","Prefix Sum"]},{id:"560",title:"Subarray Sum Equals K",external_link:"subarray-sum-equals-k",animation_path:"subarray-sum-equals-k",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Hash Table","Prefix Sum"]},{id:"974",title:"Subarray Sums Divisible by K",external_link:"subarray-sums-divisible-by-k",animation_path:"subarray-sums-divisible-by-k",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Array","Hash Table","Prefix Sum"]},{id:"523",title:"Continuous Subarray Sum",external_link:"continuous-subarray-sum",animation_path:"continuous-subarray-sum",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Hash Table","Math","Prefix Sum"]},{id:"525",title:"Contiguous Array",external_link:"contiguous-array",animation_path:"contiguous-array",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Hash Table","Prefix Sum"]},{id:"304",title:"Range Sum Query 2D - Immutable",external_link:"range-sum-query-2d-immutable",animation_path:"range-sum-query-2d-immutable",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Matrix","Prefix Sum","Design"]},{id:"2536",title:"Increment Submatrices by One",external_link:"increment-submatrices-by-one",animation_path:"increment-submatrices-by-one",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Matrix","Prefix Sum"]},{id:"1314",title:"Matrix Block Sum",external_link:"matrix-block-sum",animation_path:"matrix-block-sum",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Matrix","Prefix Sum"]}]},7:{id:"7",name:"Sliding Window - Fixed Size",info_path:"/learn/dsa/sliding-window-introduction",problems:[{id:"643",title:"Maximum Average Subarray I",external_link:"maximum-average-subarray-i",animation_path:"maximum-average-subarray-i",difficulty:"Easy",lists:["am_600","am_300"],frequency:4,tags:["Array","Sliding Window"]},{id:"438",title:"Find All Anagrams in a String",external_link:"find-all-anagrams-in-a-string",animation_path:"find-all-anagrams-in-a-string",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["String","Hash Table","Sliding Window"]}
1,{id:"567",title:"Permutation in String",external_link:"permutation-in-string",animation_path:"permutation-in-string",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["String","Hash Table","Two Pointers","Sliding Window"]},{id:"1456",title:"Maximum Number of Vowels in a Substring of Given Length",external_link:"maximum-number-of-vowels-in-a-substring-of-given-length",animation_path:"maximum-number-of-vowels-in-a-substring-of-given-length",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["String","Sliding Window"]},{id:"2461",title:"Maximum Sum of Distinct Subarrays With Length K",external_link:"maximum-sum-of-distinct-subarrays-with-length-k",animation_path:"maximum-sum-of-distinct-subarrays-with-length-k",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Hash Table","Sliding Window"]},{id:"30",title:"Substring with Concatenation of All Words",external_link:"substring-with-concatenation-of-all-words",animation_path:"substring-with-concatenation-of-all-words",difficulty:"Hard",lists:["am_600","am_300"],frequency:3,tags:["String","Hash Table","Sliding Window"]}]},8:{id:"8",name:"Sliding Window - Dynamic Size",info_path:"/learn/dsa/sliding-window-introduction",problems:[{id:"3",title:"Longest Substring Without Repeating Characters",external_link:"longest-substring-without-repeating-characters",animation_path:"longest-substring-without-repeating-characters",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["String","Hash Table","Sliding Window"]},{id:"424",title:"Longest Repeating Character Replacement",external_link:"longest-repeating-character-replacement",animation_path:"longest-repeating-character-replacement",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["String","Hash Table","Sliding Window"]},{id:"209",title:"Minimum Size Subarray Sum",external_link:"minimum-size-subarray-sum",animation_path:"minimum-size-subarray-sum",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Array","Binary Search","Prefix Sum","Sliding Window"]},{id:"1004",title:"Max Consecutive Ones III",external_link:"max-consecutive-ones-iii",animation_path:"max-consecutive-ones-iii",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Array","Binary Search","Prefix Sum","Sliding Window"]},{id:"1248",title:"Count Number of Nice Subarrays",external_link:"count-number-of-nice-subarrays",animation_path:"count-number-of-nice-subarrays",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Hash Table","Math","Prefix Sum","Sliding Window"]},{id:"904",title:"Fruit Into Baskets",external_link:"fruit-into-baskets",animation_path:"fruit-into-baskets",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Hash Table","Sliding Window"]},{id:"1423",title:"Maximum Points You Can Obtain from Cards",external_link:"maximum-points-you-can-obtain-from-cards",animation_path:"maximum-points-you-can-obtain-from-cards",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Prefix Sum","Sliding Window"]},{id:"713",title:"Subarray Product Less Than K",external_link:"subarray-product-less-than-k",animation_path:"subarray-product-less-than-k",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Binary Search","Prefix Sum","Sliding Window"]},{id:"1838",title:"Frequency of the Most Frequent Element",external_link:"frequency-of-the-most-frequent-element",animation_path:"frequency-of-the-most-frequent-element",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Sorting","Greedy","Binary Search","Prefix Sum"]},{id:"159",title:"Longest Substring with At Most Two Distinct Characters",external_link:"longest-substring-with-at-most-two-distinct-characters",animation_path:"longest-substring-with-at-most-two-distinct-characters",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["String","Hash Table","Sliding Window"]},{id:"340",title:"Longest Substring with At Most K Distinct Characters",external_link:"longest-substring-with-at-most-k-distinct-characters",animation_path:"longest-substring-with-at-most-k-distinct-characters",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["String","Hash Table","Sliding Window"]},{id:"395",title:"Longest Substring with At Least K Repeating Characters",external_link:"longest-substring-with-at-least-k-repeating-characters",animation_path:"longest-substring-with-at-least-k-repeating-characters",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["String","Hash Table","Sliding Window","Divi
1de and Conquer"]},{id:"76",title:"Minimum Window Substring",external_link:"minimum-window-substring",animation_path:"minimum-window-substring",difficulty:"Hard",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["String","Hash Table","Sliding Window"]},{id:"727",title:"Minimum Window Subsequence",external_link:"minimum-window-subsequence",animation_path:"minimum-window-subsequence",difficulty:"Hard",lists:["am_600"],frequency:2,tags:["String","Dynamic Programming","Sliding Window"]},{id:"992",title:"Subarrays with K Different Integers",external_link:"subarrays-with-k-different-integers",animation_path:"subarrays-with-k-different-integers",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["Array","Hash Table","Counting","Sliding Window"]}]},9:{id:"9",name:"Kadane's Algorithm",info_path:"/learn/dsa/kadane-s-algorithm-introduction",problems:[{id:"53",title:"Maximum Subarray",external_link:"maximum-subarray",animation_path:"maximum-subarray",yt_link:"https://www.youtube.com/watch?v=NUWAXbSlsws&list=PLK63NuByH5o9odyBT7nfYkHZyvGQ5oVp2",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Dynamic Programming","Divide and Conquer"]},{id:"918",title:"Maximum Sum Circular Subarray",external_link:"maximum-sum-circular-subarray",animation_path:"maximum-sum-circular-subarray",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Dynamic Programming","Divide and Conquer","Queue","Monotonic Queue"]},{id:"1186",title:"Maximum Subarray Sum with One Deletion",external_link:"maximum-subarray-sum-with-one-deletion",animation_path:"maximum-subarray-sum-with-one-deletion",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Dynamic Programming"]},{id:"1749",title:"Maximum Absolute Sum of Any Subarray",external_link:"maximum-absolute-sum-of-any-subarray",animation_path:"maximum-absolute-sum-of-any-subarray",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Array","Dynamic Programming"]},{id:"152",title:"Maximum Product Subarray",external_link:"maximum-product-subarray",animation_path:"maximum-product-subarray",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Dynamic Programming"]},{id:"978",title:"Longest Turbulent Subarray",external_link:"longest-turbulent-subarray",animation_path:"longest-turbulent-subarray",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Array","Dynamic Programming","Sliding Window"]},{id:"1014",title:"Best Sightseeing Pair",external_link:"best-sightseeing-pair",animation_path:"best-sightseeing-pair",difficulty:"Medium",lists:["am_600","am_300"],frequency:1,tags:["Array","Dynamic Programming"]}]},10:{id:"10",name:"Matrix (2D Array)",info_path:"https://www.youtube.com/watch?v=J1aQ9JN4vZY",problems:[{id:"867",title:"Transpose Matrix",external_link:"transpose-matrix",animation_path:"transpose-matrix",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array","Matrix","Simulation"]},{id:"54",title:"Spiral Matrix",external_link:"spiral-matrix",animation_path:"spiral-matrix",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Matrix","Simulation"]},{id:"59",title:"Spiral Matrix II",external_link:"spiral-matrix-ii",animation_path:"spiral-matrix-ii",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Matrix","Simulation"]},{id:"498",title:"Diagonal Traverse",external_link:"diagonal-traverse",animation_path:"diagonal-traverse",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Matrix","Simulation"]},{id:"48",title:"Rotate Image",external_link:"rotate-image",animation_path:"rotate-image",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Math","Matrix"]},{id:"73",title:"Set Matrix Zeroes",external_link:"set-matrix-zeroes",animation_path:"set-matrix-zeroes",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Hash Table","Matrix"]},{id:"723",title:"Candy Crush",external_link:"candy-crush",animation_path:"candy-crush",difficulty:"Medium",lists:["am_600"],frequency:5,tags:["Array","Matrix","Two Pointers"]},{id:"36",title:"Valid Sudoku",external_link:"valid-sudoku",animation_path:"valid-sudoku",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Array","Hash Table","Matrix"]},{id:"289",title:"Game of Life",external_link:"game-of-life",animation_path:"game-of-life",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Matrix","Simulation"]}]},11:{id:"11",name:"Linked List",info_path:"/learn/dsa/linked-list-introduction",problems:[{id:"160",title:"Intersection of Two Linked Lists",external_link:"intersection-of-two-linked-lists",animation_path:"intersection-of-two-linked-lists",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:3,tags:["Hash Table","Two Pointers","Linked List"]},{id:"83",title:"Remove Duplicates from Sorted List",external_link:"remove-duplicates-from-sorted-list",animation_path:"remove-duplicates-from-sorted-list",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Linked List"]}
1,{id:"707",title:"Design Linked List",external_link:"design-linked-list",animation_path:"design-linked-list",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Design","Linked List"]},{id:"2095",title:"Delete the Middle Node of a Linked List",external_link:"delete-the-middle-node-of-a-linked-list",animation_path:"delete-the-middle-node-of-a-linked-list",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Two Pointers","Linked List"]},{id:"19",title:"Remove Nth Node From End of List",external_link:"remove-nth-node-from-end-of-list",animation_path:"remove-nth-node-from-end-of-list",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Two Pointers","Linked List"]},{id:"82",title:"Remove Duplicates from Sorted List II",external_link:"remove-duplicates-from-sorted-list-ii",animation_path:"remove-duplicates-from-sorted-list-ii",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Two Pointers","Linked List"]},{id:"328",title:"Odd Even Linked List",external_link:"odd-even-linked-list",animation_path:"odd-even-linked-list",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Linked List"]},{id:"24",title:"Swap Nodes in Pairs",external_link:"swap-nodes-in-pairs",animation_path:"swap-nodes-in-pairs",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["Linked List","Recursion"]},{id:"138",title:"Copy List with Random Pointer",external_link:"copy-list-with-random-pointer",animation_path:"copy-list-with-random-pointer",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Hash Table","Linked List"]},{id:"86",title:"Partition List",external_link:"partition-list",animation_path:"partition-list",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Two Pointers","Linked List"]},{id:"61",title:"Rotate List",external_link:"rotate-list",animation_path:"rotate-list",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Two Pointers","Linked List"]},{id:"143",title:"Reorder List",external_link:"reorder-list",animation_path:"reorder-list",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Two Pointers","Stack","Linked List","Recursion"]},{id:"2",title:"Add Two Numbers",external_link:"add-two-numbers",animation_path:"add-two-numbers",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Math","Linked List","Recursion"]},{id:"445",title:"Add Two Numbers II",external_link:"add-two-numbers-ii",animation_path:"add-two-numbers-ii",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Math","Stack","Linked List"]},{id:"237",title:"Delete Node in a Linked List",external_link:"delete-node-in-a-linked-list",animation_path:"delete-node-in-a-linked-list",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Linked List"]},{id:"430",title:"Flatten a Multilevel Doubly Linked List",external_link:"flatten-a-multilevel-doubly-linked-list",animation_path:"flatten-a-multilevel-doubly-linked-list",difficulty:"Medium",lists:["am_600","am_300"],frequency:5,tags:["Depth-First Search","Linked List","Doubly-Linked List"]},{id:"708",title:"Insert into a Sorted Circular Linked List",external_link:"insert-into-a-sorted-circular-linked-list",animation_path:"insert-into-a-sorted-circular-linked-list",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Linked List"]},{id:"1669",title:"Merge In Between Linked Lists",external_link:"merge-in-between-linked-lists",animation_path:"merge-in-between-linked-lists",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Linked List"]}]},12:{id:"12",name:"LinkedList In-place Reversal",info_path:"/learn/dsa/linked-list-in-place-reversal-introduction",problems:[{id:"234",title:"Palindrome Linked List",external_link:"palindrome-linked-list",animation_path:"palindrome-linked-list",difficulty:"Easy",lists:["am_600","am_300"],frequency:4,tags:["Two Pointers","Stack","Linked List","Recursion"]},{id:"206",title:"Reverse Linked List",external_link:"reverse-linked-list",yt_link:"https://www.youtube.com/watch?v=auoTGovuo9A&list=PLK63NuByH5o9odyBT7nfYkHZyvGQ5oVp2",animation_path:"reverse-linked-list",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:4,tags:["Linked List","Recursion"]},{id:"92",title:"Reverse Linked List II",external_link:"reverse-linked-list-ii",difficulty:"Medium",lists:["am_600","am_300"],animation_path:"reverse-linked-list-ii",frequency:4,tags:["Linked List"]},{id:"25",title:"Reverse Nodes in k-Group",external_link:"reverse-nodes-in-k-group",animation_path:"reverse-nodes-in-k-group",difficulty:"Hard",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Linked List","Recursion"]}]},13:{id:"13",name:"Fast and Slow Pointers",info_path:"/learn/dsa/fast-slow-pointers-introduction",problems:[{id:"876",title:"Middle of the Linked List",external_link:"middle-of-the-linked-list",animation_path:"middle-of-the-linked-list",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:4,tags:["Two Pointers","Linked List"]},{id:"202",title:"Happy Number",external_link:"happy-number",animation_path:"happy-number",difficulty:"Easy",lists:["am_600","am_300"],frequency:4,tags:["Hash Table","Math","Two Pointers"]},{id:"141",title:"Linked List Cycle II",external_link:"linked-list-cycle-ii",animation_path:"linked-list-cycle-ii",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Hash Table","Two Pointers","Linked List"]}]},14:{id:"14",name:"Stacks",info_path:"/learn/dsa/stack-introduction",problems:[{id:"20",title:"Valid Parentheses",external_link:"valid-parentheses",animation_path:"valid-parentheses",difficulty:"Easy",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["String","Stack"]},{id:"682",title:"Baseball Game",external_link:"baseball-game",animation_path:"baseball-game",difficulty:"Easy",lists:["am_600"],frequency:2,tags:["Array","Simulation","Stack"]},{id:"1047",title:"Remove All Adjacent Duplicates In String",external_link:"remove-all-adjacent-duplicates-in-string",animation_path:"remove-all-adjacent-duplicates-in-string",difficulty:"Easy",lists:["am_600","am_300"],frequency:4,tags:["String","Stack"]},{id:"1614",title:"Maximum Nesting Depth of the Parentheses",external_link:"maximum-nesting-depth-of-the-parentheses",animation_path:"maximum-nesting-depth-of-the-parentheses",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["String","Stack"]},{id:"155",title:"Min Stack",external_link:"min-stack",animation_path:"min-stack",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Stack","Design"]},{id:"735",title:"Asteroid Collision",external_link:"asteroid-collision",animation_path:"asteroid-collision",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Simulation","Stack"]},{id:"853",title:"Car Fleet",external_link:"car-fleet",animation_path:"car-fleet",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Sorting","Stack","Monotonic Stack"]},{id:"678",title:"Valid Parenthesis String",external_link:"valid-parenthesis-string",animation_path:"valid-parenthesis-string",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["String","Dynamic Programming","Greedy","Stack"]},{id:"946",title:"Validate Stack Sequences",external_link:"validate-stack-sequences",animation_path:"validate-stack-sequences",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Simulation","Stack"]},{id:"1249",title:"Minimum Remove to Make Valid Parentheses",external_link:"minimum-remove-to-make-valid-parentheses",animation_path:"minimum-remove-to-make-valid-parentheses",difficulty:"Medium",lists:["am_600"],frequency:5,tags:["String","Stack"]},{id:"316",title:"Remove Duplicate Letters",external_link:"remove-duplicate-letters",animation_path:"remove-duplicate-letters",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["String","Greedy","Stack","Monotonic Stack"]}
1,{id:"2390",title:"Removing Stars From a String",external_link:"removing-stars-from-a-string",animation_path:"removing-stars-from-a-string",difficulty:"Medium",lists:["am_600","am_300"],frequency:1,tags:["String","Simulation","Stack"]},{id:"71",title:"Simplify Path",external_link:"simplify-path",animation_path:"simplify-path",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["String","Stack"]},{id:"636",title:"Exclusive Time of Functions",external_link:"exclusive-time-of-functions",animation_path:"exclusive-time-of-functions",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Stack"]},{id:"150",title:"Evaluate Reverse Polish Notation",external_link:"evaluate-reverse-polish-notation",animation_path:"evaluate-reverse-polish-notation",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Array","Math","Stack"]},{id:"227",title:"Basic Calculator II",external_link:"basic-calculator-ii",animation_path:"basic-calculator-ii",difficulty:"Medium",lists:["am_600","am_300"],frequency:5,tags:["String","Math","Stack"]},{id:"224",title:"Basic Calculator",external_link:"basic-calculator",animation_path:"basic-calculator",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["String","Math","Stack","Recursion"]},{id:"32",title:"Longest Valid Parentheses",external_link:"longest-valid-parentheses",animation_path:"longest-valid-parentheses",difficulty:"Hard",lists:["am_600","am_300","am_150"],frequency:5,tags:["String","Dynamic Programming","Stack"]}]},15:{id:"15",name:"Monotonic Stack",info_path:"https://www.youtube.com/watch?v=DtJVwbbicjQ&list=PLK63NuByH5o9odyBT7nfYkHZyvGQ5oVp2",problems:[{id:"496",title:"Next Greater Element I",external_link:"next-greater-element-i",animation_path:"next-greater-element-i",difficulty:"Easy",lists:["am_600","am_300"],frequency:4,tags:["Array","Hash Table","Stack","Monotonic Stack"]},{id:"1475",title:"Final Prices With a Special Discount in a Shop",external_link:"final-prices-with-a-special-discount-in-a-shop",animation_path:"final-prices-with-a-special-discount-in-a-shop",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array","Stack","Monotonic Stack"]},{id:"503",title:"Next Greater Element II",external_link:"next-greater-element-ii",animation_path:"next-greater-element-ii",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Stack","Monotonic Stack"]},{id:"739",title:"Daily Temperatures",external_link:"daily-temperatures",animation_path:"daily-temperatures",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Stack","Monotonic Stack"]},{id:"901",title:"Online Stock Span",external_link:"online-stock-span",animation_path:"online-stock-span",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Stack","Design","Monotonic Stack","Data Stream"]},{id:"1762",title:"Buildings With an Ocean View",external_link:"buildings-with-an-ocean-view",animation_path:"buildings-with-an-ocean-view",difficulty:"Medium",lists:["am_600"],frequency:5,tags:["Array","Stack","Monotonic Stack"]},{id:"456",title:"132 Pattern",external_link:"132-pattern",animation_path:"132-pattern",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Binary Search","Stack","Ordered Set","Monotonic Stack"]},{id:"402",title:"Remove K Digits",external_link:"remove-k-digits",animation_path:"remove-k-digits",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["String","Greedy","Stack","Monotonic Stack"]},{id:"962",title:"Maximum Width Ramp",external_link:"maximum-width-ramp",animation_path:"maximum-width-ramp",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Array","Two Pointers","Stack","Monotonic Stack"]},{id:"769",title:"Max Chunks To Make Sorted",external_link:"max-chunks-to-make-sorted",animation_path:"max-chunks-to-make-sorted",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Array","Sorting","Greedy","Stack","Monotonic Stack"]},{id:"907",title:"Sum of Subarray Minimums",external_link:"sum-of-subarray-minimums",animation_path:"sum-of-subarray-minimums",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Dynamic Programming","Stack","Monotonic Stack"]},{id:"2104",title:"Sum of Subarray Ranges",external_link:"sum-of-subarray-ranges",animation_path:"sum-of-subarray-ranges",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Array","Stack","Monotonic Stack"]},{id:"581",title:"Shortest Unsorted Continuous Subarray",external_link:"shortest-unsorted-continuous-subarray",animation_path:"shortest-unsorted-continuous-subarray",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Sorting","Greedy","Two Pointers","Stack"]},{id:"1019",title:"Next Greater Node In Linked List",external_link:"next-greater-node-in-linked-list",animation_path:"next-greater-node-in-linked-list",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Stack","Linked List","Monotonic Stack"]},{id:"1944",title:"Number of Visible People in a Queue",external_link:"number-of-visible-people-in-a-queue",animation_path:"number-of-visible-people-in-a-queue",difficulty:"Hard",lists:["am_600","am_300"],frequency:4,tags:["Array","Stack","Monotonic Stack"]},{id:"84",title:"Largest Rectangle in Histogram",external_link:"largest-rectangle-in-histogram",animation_path:"largest-rectangle-in-histogram",difficulty:"Hard",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Stack","Monotonic Stack"]},{id:"321",title:"Create Maximum Number",external_link:"create-maximum-number",animation_path:"create-maximum-number",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Greedy","Two Pointers","Stack","Monotonic Stack"]}]},16:{id:"16",name:"Queues",info_path:"/learn/dsa/queue-introduction",problems:[{id:"933",title:"Number of Recent
1Calls",external_link:"number-of-recent-calls",animation_path:"number-of-recent-calls",difficulty:"Easy",lists:["am_600","am_300"],frequency:4,tags:["Design","Queue","Data Stream"]},{id:"2073",title:"Time Needed to Buy Tickets",external_link:"time-needed-to-buy-tickets",animation_path:"time-needed-to-buy-tickets",difficulty:"Easy",lists:["am_600","am_300"],frequency:2,tags:["Array","Simulation","Queue"]},{id:"346",title:"Moving Average from Data Stream",external_link:"moving-average-from-data-stream",animation_path:"moving-average-from-data-stream",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array","Design","Queue","Data Stream"]},{id:"950",title:"Reveal Cards In Increasing Order",external_link:"reveal-cards-in-increasing-order",animation_path:"reveal-cards-in-increasing-order",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Array","Sorting","Simulation","Queue"]},{id:"1429",title:"First Unique Number",external_link:"first-unique-number",animation_path:"first-unique-number",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Hash Table","Design","Queue","Data Stream"]},{id:"2327",title:"Number of People Aware of a Secret",external_link:"number-of-people-aware-of-a-secret",animation_path:"number-of-people-aware-of-a-secret",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Dynamic Programming","Simulation","Queue"]},{id:"1823",title:"Find the Winner of the Circular Game",external_link:"find-the-winner-of-the-circular-game",animation_path:"find-the-winner-of-the-circular-game",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Math","Simulation","Queue","Recursion"]}]},17:{id:"17",name:"Monotonic Queue",info_path:"https://www.youtube.com/watch?v=DfljaUwZsOk&pp=ygUPbW9ub3RvbmljIHF1ZXVl",problems:[{id:"1696",title:"Jump Game VI",external_link:"jump-game-vi",animation_path:"jump-game-vi",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Array","Dynamic Programming","Heap (Priority Queue)","Queue","Monotonic Queue"]},{id:"2762",title:"Continuous Subarrays",external_link:"continuous-subarrays",animation_path:"continuous-subarrays",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Heap (Priority Queue)","Sliding Window","Ordered Set","Queue"]},{id:"1673",title:"Find the Most Competitive Subsequence",external_link:"find-the-most-competitive-subsequence",animation_path:"find-the-most-competitive-subsequence",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Array","Greedy","Stack","Monotonic Stack"]},{id:"3578",title:"Count Partitions With Max-Min Difference at Most K",external_link:"count-partitions-with-max-min-difference-at-most-k",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Dynamic Programming","Prefix Sum","Sliding Window","Queue"]},{id:"1438",title:"Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit",external_link:"longest-continuous-subarray-with-absolute-diff-less-than-or-equal-to-limit",animation_path:"longest-continuous-subarray-with-absolute-diff-less-than-or-equal-to-limit",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Array","Heap (Priority Queue)","Sliding Window","Ordered Set","Queue"]},{id:"239",title:"Sliding Window Maximum",external_link:"sliding-window-maximum",animation_path:"sliding-window-maximum",difficulty:"Hard",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Heap (Priority Queue)","Sliding Window","Queue","Monotonic Queue"]},{id:"1499",title:"Max Value of Equation",external_link:"max-value-of-equation",animation_path:"max-value-of-equation",difficulty:"Hard",lists:["am_600","am_300"],frequency:1,tags:["Array","Heap (Priority Queue)","Sliding Window","Queue","Monotonic Queue"]},{id:"1425",title:"Constrained Subsequence Sum",external_link:"constrained-subsequence-sum",animation_path:"constrained-subsequence-sum",difficulty:"Hard",lists:["am_600"],frequency:2,tags:["Array","Dynamic Programming","Heap (Priority Queue)","Sliding Window","Queue"]},{id:"862",title:"Shortest Subarray with Sum at Least K",external_link:"shortest-subarray-with-sum-at-least-k",animation_path:"shortest-subarray-with-sum-at-least-k",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Binary Search","Prefix Sum","Heap (Priority Queue)","Sliding Window"]}]},18:{id:"18",name:"Bucket Sort",info_path:"https://www.youtube.com/watch?v=ROnYubH_spM",problems:[{id:"451",title:"Sort Characters By Frequency",external_link:"sort-characters-by-frequency",animation_path:"sort-characters-by-frequency",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["String","Hash Table","Sorting","Heap (Priority Queue)","Counting"]},{id:"692",title:"Top K Frequent Words",external_link:"top-k-frequent-words",animation_path:"top-k-frequent-words",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","String","Hash Table","Sorting","Heap (Priority Queue)"]},{id:"164",title:"Maximum Gap",external_link:"maximum-gap",animation_path:"maximum-gap",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Array","Sorting","Bucket Sort","Radix Sort"]},{id:"220",title:"Contains Duplicate III",external_link:"contains-duplicate-iii",animation_path:"contains-duplicate-iii",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Sorting","Sliding Window","Ordered Set","Bucket Sort"]}]},19:{id:"19",name:"Recursion",info_path:"https://www.youtube.com/watch?v=ngCos392W4w",problems:[{id:"21",title:"Merge Two Sorted Lists",external_link:"merge-two-sorted-lists",animation_path:"merge-two-sorted-lists",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:5,tags:["Linked List","Recursion"]},{id:"50",title:"Pow(x, n)",external_link:"powx-n",animation_path:"powx-n",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["2"]},{id:"394",title:"Decode String",external_link:"decode-string",animation_path:"decode-string",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:5,tags:["String","Stack","Recursion"]},{id:"761",title:"Special Binary String",external_link:"special-binary-string",animation_path:"special-binary-string",difficulty:"Hard",lists:["am_600"],frequency:5,tags:["String","Sorting","Divide and Conquer"]},{id:"273",title:"Integer to English Words",external_link:"integer-to-english-words",animation_path:"integer-to-english-words",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["String","Math","Recursion"]}]},20:{id:"20",name:"Divide and Conquer",info_path:"https://www.youtube.com/watch?v=2Rr2tW9zvRg",problems:[{id:"1763",title:"Longest Nice Substring",external_link:"longest-nice-substring",animation_path:"longest-nice-substring",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["String","Hash Table","Bit Manipulation","Sliding Window","Divi
1de and Conquer"]},{id:"109",title:"Convert Sorted List to Binary Search Tree",external_link:"convert-sorted-list-to-binary-search-tree",animation_path:"convert-sorted-list-to-binary-search-tree",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["Tree","Binary Tree","Linked List","Divide and Conquer","Binary Search Tree"]},{id:"427",title:"Construct Quad Tree",external_link:"construct-quad-tree",animation_path:"construct-quad-tree",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Array","Matrix","Tree","Divide and Conquer"]},{id:"654",title:"Maximum Binary Tree",external_link:"maximum-binary-tree",animation_path:"maximum-binary-tree",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Array","Tree","Binary Tree","Stack","Monotonic Stack"]}]},21:{id:"21",name:"Merge Sort",info_path:"https://www.youtube.com/watch?v=TzeBrDU-JaY",problems:[{id:"912",title:"Sort an Array",external_link:"sort-an-array",animation_path:"sort-an-array",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Sorting","Heap (Priority Queue)","Divide and Conquer","Merge Sort"]},{id:"148",title:"Sort List",external_link:"sort-list",animation_path:"sort-list",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["Sorting","Two Pointers","Linked List","Divide and Conquer","Merge Sort"]},{id:"493",title:"Reverse Pairs",external_link:"reverse-pairs",animation_path:"reverse-pairs",difficulty:"Hard",lists:["am_600","am_300"],frequency:4,tags:["Array","Binary Search","Ordered Set","Segment Tree","Divide and Conquer"]},{id:"327",title:"Count of Range Sum",external_link:"count-of-range-sum",animation_path:"count-of-range-sum",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Binary Search","Ordered Set","Segment Tree","Divide and Conquer"]}]},22:{id:"22",name:"QuickSort / QuickSelect",info_path:"https://www.youtube.com/watch?v=XEmy13g1Qxc",problems:[{id:"75",title:"Sort Colors",external_link:"sort-colors",animation_path:"sort-colors",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Array","Sorting","Two Pointers"]},{id:"215",title:"Kth Largest Element in an Array",external_link:"kth-largest-element-in-an-array",animation_path:"kth-largest-element-in-an-array",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:5,tags:["Array","Sorting","Heap (Priority Queue)","Divide and Conquer","Quickselect"]},{id:"1985",title:"Find the Kth Largest Integer in the Array",external_link:"find-the-kth-largest-integer-in-the-array",animation_path:"find-the-kth-largest-integer-in-the-array",difficulty:"Medium",lists:["am_600"],frequency:1,tags:["Array","String","Sorting","Heap (Priority Queue)","Divide and Conquer"]}]},23:{id:"23",name:"Binary Search",info_path:"/learn/dsa/binary-search-introduction",problems:[{id:"704",title:"Binary Search",external_link:"binary-search",animation_path:"binary-search",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array","Binary Search"]},{id:"278",title:"First Bad Version",external_link:"first-bad-version",animation_path:"first-bad-version",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Binary Search","Interactive"]},{id:"367",title:"Valid Perfect Square",external_link:"valid-perfect-square",animation_path:"valid-perfect-square",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Math","Binary Search"]},{id:"35",title:"Search Insert Position",external_link:"search-insert-position",animation_path:"search-insert-position",difficulty:"Easy",lists:["am_600","am_300"],frequency:4,tags:["Array","Binary Search"]},{id:"374",title:"Guess Number Higher or Lower",external_link:"guess-number-higher-or-lower",animation_path:"guess-number-higher-or-lower",difficulty:"Easy",lists:["am_600"],frequency:2,tags:["Binary Search","Interactive"]},{id:"744",title:"Find Smallest Letter Greater Than Target",external_link:"find-smallest-letter-greater-than-target",animation_path:"find-smallest-letter-greater-than-target",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Array","Binary Search"]},{id:"34",title:"Find First and Last Position of Element in Sorted Array",external_link:"find-first-and-last-position-of-element-in-sorted-array",animation_path:"find-first-and-last-position-of-element-in-sorted-array",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Array","Binary Search"]},{id:"33",title:"Search in Rotated Sorted Array",external_link:"search-in-rotated-sorted-array",animation_path:"search-in-rotated-sorted-array",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Array","Binary Search"]},{id:"81",title:"Search in Rotated Sorted Array II",external_link:"search-in-rotated-sorted-array-ii",animation_path:"search-in-rotated-sorted-array-ii",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Binary Search"]},{id:"162",title:"Find Peak Element",external_link:"find-peak-element",animation_path:"find-peak-element",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:5,tags:["Array","Binary Search"]},{id:"528",title:"Random Pick with Weight",external_link:"random-pick-with-weight",animation_path:"random-pick-with-weight",difficulty:"Medium",lists:["am_600","am_300"],frequency:5,tags:["Array","Math","Binary Search","Prefix Sum","Randomized"]},{id:"658",title:"Find K Closest Elements",external_link:"find-k-close
1st-elements",animation_path:"find-k-closest-elements",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Sorting","Binary Search","Two Pointers","Heap (Priority Queue)"]},{id:"475",title:"Heaters",external_link:"heaters",animation_path:"heaters",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Sorting","Binary Search","Two Pointers"]},{id:"875",title:"Koko Eating Bananas",external_link:"koko-eating-bananas",animation_path:"koko-eating-bananas",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:5,tags:["Array","Binary Search"]},{id:"1011",title:"Capacity To Ship Packages Within D Days",external_link:"capacity-to-ship-packages-within-d-days",animation_path:"capacity-to-ship-packages-within-d-days",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Binary Search"]},{id:"1482",title:"Minimum Number of Days to Make m Bouquets",external_link:"minimum-number-of-days-to-make-m-bouquets",animation_path:"minimum-number-of-days-to-make-m-bouquets",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Binary Search"]},{id:"153",title:"Find Minimum in Rotated Sorted Array",external_link:"find-minimum-in-rotated-sorted-array",animation_path:"find-minimum-in-rotated-sorted-array",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Binary Search"]},{id:"74",title:"Search a 2D Matrix",external_link:"search-a-2d-matrix",animation_path:"search-a-2d-matrix",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Binary Search","Matrix"]},{id:"240",title:"Search a 2D Matrix II",external_link:"search-a-2d-matrix-ii",animation_path:"search-a-2d-matrix-ii",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Binary Search","Matrix","Divide and Conquer"]},{id:"1552",title:"Magnetic Force Between Two Balls",external_link:"magnetic-force-between-two-balls",animation_path:"magnetic-force-between-two-balls",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Array","Sorting","Binary Search"]},{id:"1095",title:"Find in Mountain Array",external_link:"find-in-mountain-array",animation_path:"find-in-mountain-array",difficulty:"Hard",lists:["am_600","am_300"],frequency:3,tags:["Array","Binary Search","Interactive"]},{id:"410",title:"Split Array Largest Sum",external_link:"split-array-largest-sum",animation_path:"split-array-largest-sum",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["Array","Dynamic Programming","Greedy","Binary Search","Prefix Sum"]},{id:"4",title:"Median of Two Sorted Arrays",external_link:"median-of-two-sorted-arrays",animation_path:"median-of-two-sorted-arrays",difficulty:"Hard",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Binary Search","Divide and Conquer"]},{id:"719",title:"Find K-th Smallest Pair Distance",external_link:"find-k-th-smallest-pair-distance",animation_path:"find-k-th-smallest-pair-distance",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Sorting","Binary Search","Two Pointers"]}]},24:{id:"24",name:"Backtracking",info_path:"/learn/dsa/backtracking-introduction",problems:[{id:"22",title:"Generate Parentheses",external_link:"generate-parentheses",animation_path:"generate-parentheses",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:5,tags:["String","Dynamic Programming","Backtracking"]},{id:"46",title:"Permutations",external_link:"permutations",animation_path:"permutations",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Array","Backtracking"]},{id:"47",title:"Permutations II",external_link:"permutations-ii",animation_path:"permutations-ii",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Sorting","Backtracking"]},{id:"78",title:"Subsets",external_link:"subsets",animation_path:"subsets",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Array","Bit Manipulation","Backtracking"]},{id:"90",title:"Subsets II",external_link:"subsets-ii",animation_path:"subsets-ii",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Bit Manipulation","Backtracking"]},{id:"39",title:"Combination Sum",external_link:"combination-sum",animation_path:"combination-sum",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Array","Backtracking"]},{id:"40",title:"Combination Sum II",external_link:"combination-sum-ii",animation_path:"combination-sum-ii",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Backtracking"]},{id:"216",title:"Combination Sum III",external_link:"combination-sum-iii",animation_path:"combination-sum-iii",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Array","Backtracking"]},{id:"77",title:"Combinations",external_link:"combinations",animation_path:"combinations",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Backtracking"]},{id:"17",title:"Letter Combinations of a Phone Number",external_link:"letter-combinations-of-a-phone-number",animation_path:"letter-combinations-of-a-phone-number",difficulty:"Medium",lists:["am_600","am_300"],frequency:5,tags:["String","Hash Table","Backtracking"]},{id:"93",title:"Restore IP Addresses",external_link:"restore-ip-addresses",animation_path:"restore-ip-addresses",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["String","Backtracking"]},{id:"131",title:"Palindrome Partitioning",external_link:"palindrome-partitioning",animation_path:"palindrome-partitioning",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["String","Dynamic Programming","Backtracking"]},{id:"980",title:"Unique Paths III",external_link:"unique-paths-iii",animation_path:"unique-paths-iii",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Bit Manipulation","Matrix","Backtracking"]},{id:"301",title:"Remove Invalid Parentheses",external_link:"remove-invalid-parentheses",animation_path:"remove-invalid-parentheses",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["String","Breadth-First Search","Backtracking"]},{id:"51",title:"N-Queens",external_link:"n-queens",animation_path:"n-queens",difficulty:"Hard",lists:["am_600","am_300","am_150"],frequency:5,tags:["Array","Backtracking"]},{id:"37",title:"Sudoku Solver",external_link:"sudoku-solver",animation_path:"sudoku-solver",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["Array","Hash Table","Matrix","Backtracking"]}]},25:{id:"25",name:"Tree Traversal - Level Order",info_path:"https://www.youtube.com/watch?v=rpPWkRijTh0&list=PLK63NuByH5o9odyBT7nfYkHZyvGQ5oVp2",problems:[{id:"104",title:"Maximum Depth of Binary Tree",external_link:"maximum-depth-of-binary-tree",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Depth-First Search","Tree","Breadth-First Search","Binary Tree"]},{id:"637",title:"Average of Levels in Binary Tree",external_link:"average-of-levels-in-binary-tree",animation_path:"average-of-levels-in-binary-tree",difficulty:"Easy",lists:["am_600"],frequency:1,tags:["Depth-First Search","Tree","Breadth-First Search","Binary Tree"]},{id:"102",title:"Binary Tree Level Order Traversal",external_link:"binary-tree-level-order-traversal",animation_path:"binary-tree-level-order-traversal",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Tree","Breadth-First Search","Binary Tree"]},{id:"199",title:"Binary Tree Right Side View",external_link:"binary-tree-right-side-view",animation_path:"binary-tree-right-side-view",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Depth-First Search","Tree","Breadth-First Search","Binary Tree"]},{id:"103",title:"Binary Tree Zigzag Level Order Traversal",external_link:"binary-tree-zigzag-level-order-traversal",animation_path:"binary-tree-zigzag-level-order-traversal",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Tree","Breadth-First Search","Binary Tree"]},{id:"314",title:"Binary Tree Vertical Order Traversal",external_link:"binary-tree-vertical-order-traversal",animation_path:"binary-tree-vertical-order-traversal",difficulty:"Medium",lists:["am_600"],frequency:5,tags:["Hash Table","Sorting","Depth-First Search","Tree","Breadth-First Search"]}
1,{id:"116",title:"Populating Next Right Pointers in Each Node",external_link:"populating-next-right-pointers-in-each-node",animation_path:"populating-next-right-pointers-in-each-node",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Depth-First Search","Tree","Breadth-First Search","Binary Tree","Linked List"]},{id:"117",title:"Populating Next Right Pointers in Each Node II",external_link:"populating-next-right-pointers-in-each-node-ii",animation_path:"populating-next-right-pointers-in-each-node-ii",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["Depth-First Search","Tree","Breadth-First Search","Binary Tree","Linked List"]},{id:"662",title:"Maximum Width of Binary Tree",external_link:"maximum-width-of-binary-tree",animation_path:"maximum-width-of-binary-tree",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Depth-First Search","Tree","Breadth-First Search","Binary Tree"]},{id:"958",title:"Check Completeness of a Binary Tree",external_link:"check-completeness-of-a-binary-tree",animation_path:"check-completeness-of-a-binary-tree",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Tree","Breadth-First Search","Binary Tree"]}]},26:{id:"26",name:"Tree Traversal - Pre Order",info_path:"",problems:[{id:"144",title:"Binary Tree Preorder Traversal",external_link:"binary-tree-preorder-traversal",animation_path:"binary-tree-preorder-traversal",difficulty:"Easy",lists:["am_600","am_300","am_150","am_75"],frequency:2,tags:["Depth-First Search","Tree","Binary Tree","Stack"]},{id:"100",title:"Same Tree",external_link:"same-tree",animation_path:"same-tree",difficulty:"Easy",lists:["am_600","am_300"],frequency:3,tags:["Depth-First Search","Tree","Breadth-First Search","Binary Tree"]},{id:"101",title:"Symmetric Tree",external_link:"symmetric-tree",animation_path:"symmetric-tree",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:4,tags:["Depth-First Search","Tree","Breadth-First Search","Binary Tree"]},{id:"404",title:"Sum of Left Leaves",external_link:"sum-of-left-leaves",animation_path:"sum-of-left-leaves",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Depth-First Search","Tree","Breadth-First Search","Binary Tree"]},{id:"572",title:"Subtree of Another Tree",external_link:"subtree-of-another-tree",animation_path:"subtree-of-another-tree",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Depth-First Search","Tree","Binary Tree","Hash Function","String Matching"]},{id:"257",title:"Binary Tree Paths",external_link:"binary-tree-paths",animation_path:"binary-tree-paths",difficulty:"Easy",lists:["am_600","am_300"],frequency:3,tags:["String","Depth-First Search","Tree","Binary Tree","Backtracking"]},{id:"108",title:"Convert Sorted Array to Binary Search Tree",external_link:"convert-sorted-array-to-binary-search-tree",animation_path:"convert-sorted-array-to-binary-search-tree",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:3,tags:["Array","Tree","Binary Tree","Divide and Conquer","Binary Search Tree"]},{id:"222",title:"Count Complete Tree Nodes",external_link:"count-complete-tree-nodes",animation_path:"count-complete-tree-nodes",difficulty:"Easy",lists:["am_600","am_300"],frequency:2,tags:["Binary Search","Bit Manipulation","Tree","Binary Tree"]},{id:"113",title:"Path Sum II",external_link:"path-sum-ii",animation_path:"path-sum-ii",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Depth-First Search","Tree","Binary Tree","Backtracking"]},{id:"437",title:"Path Sum III",external_link:"path-sum-iii",animation_path:"path-sum-iii",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["Depth-First Search","Tree","Binary Tree"]},{id:"687",title:"Longest Univalue Path",external_link:"longest-univalue-path",animation_path:"longest-univalue-path",difficulty:"Medium",lists:["am_600"],frequency:1,tags:["Depth-First Search","Tree","Binary Tree"]},{id:"1026",title:"Maximum Difference Between Node and Ancestor",external_link:"maximum-difference-between-node-and-ancestor",animation_path:"maximum-difference-between-node-and-ancestor",difficulty:"Medium",lists:["am_600","am_300"],frequency:1,tags:["Depth-First Search","Tree","Binary Tree"]},{id:"105",title:"Construct Binary Tree from Preorder and Inorder Traversal",external_link:"construct-binary-tree-from-preorder-and-inorder-traversal",animation_path:"construct-binary-tree-from-preorder-and-inorder-traversal",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["Array","Hash Table","Tree","Binary Tree","Divide and Conquer"]},{id:"106",title:"Construct Binary Tree from Inorder and Postorder Traversal",external_link:"construct-binary-tree-from-inorder-and-postorder-traversal",animation_path:"construct-binary-tree-from-inorder-and-postorder-traversal",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Array","Hash Table","Tree","Binary Tree","Divide and Conquer"]},{id:"297",title:"Serialize and Deserialize Binary Tree",external_link:"serialize-and-deserialize-binary-tree",animation_path:"serialize-and-deserialize-binary-tree",difficulty:"Hard",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["String","Depth-First Search","Tree","Breadth-First Search","Binary Tree"]}]},27:{id:"27",name:"Tree Traversal - In Order",info_path:"https://www.youtube.com/watch?v=g_S5WuasWUE",problems:[{id:"94",title:"Binary Tree Inorder Traversal",external_link:"binary-tree-inorder-traversal",animation_path:"binary-tree-inorder-traversal",difficulty:"Easy",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["Depth-First Search","Tree","Binary Tree","Stack"]},{id:"783",title:"Minimum Distance Between BST Nodes",external_link:"minimum-distance-between-bst-nodes",animation_path:"minimum-distance-between-bst-nodes",difficulty:"Easy",lists:["am_600","am_300"],frequency:2,tags:["Depth-First Search","Tree","Breadth-First Search","Binary Tree","Binary Search Tree"]},{id:"530",title:"Minimum Absolute Difference in BST",external_link:"minimum-absolute-difference-in-bst",animation_path:"minimum-absolute-difference-in-bst",difficulty:"Easy",lists:["am_600","am_300"],frequency:2,tags:["Depth-First Search","Tree","Breadth-First Search","Binary Tree","Binary Search Tree"]},{id:"98",title:"Validate Binary Search Tree",external_link:"validate-binary-search-tree",animation_path:"validate-binary-search-tree",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Depth-First Search","Tree","Binary Tree","Binary Search Tree"]},{id:"230",title:"Kth Smallest Element in a BST",external_link:"kth-smallest-element-in-a-bst",animation_path:"kth-smallest-element-in-a-bst",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["Depth-First Search","Tree","Binary Tree","Binary Search Tree"]},{id:"173",title:"Binary Search Tree Iterator",external_link:"binary-search-tree-iterator",animation_path:"binary-search-tree-iterator",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["Tree","Binary Tree","Stack","Design","Binary Search Tree"]},{id:"1382",title:"Balance a Binary Search Tree",external_link:"balance-a-binary-search-tree",animation_path:"balance-a-binary-search-tree",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Greedy","Depth-First Search","Tree","Binary Tree","Divide and Conquer"]}]},28:{id:"28",name:"Tree Traversal - Post-Order",info_path:"",problems:[{id:"145",title:"Binary Tree Postorder Traversal",external_link:"binary-tree-postorder-traversal",animation_path:"binary-tree-postorder-traversal",difficulty:"Easy",lists:["am_600","am_300","am_150","am_75"],frequency:1,tags:["Depth-First Search","Tree","Binary Tree","Stack"]},{id:"226",title:"Invert Binary Tree",external_link:"invert-binary-tree",animation_path:"invert-binary-tree",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:3,tags:["Depth-First Search","Tree","Breadth-First Search","Binary Tree"]},{id:"110",title:"Balanced Binary Tree",external_link:"balanced-binary-tree",animation_path:"balanced-binary-tree",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Depth-First Search","Tree","Binary Tree"]},{id:"543",title:"Diameter of Binary Tree",external_link:"diameter-of-binary-tree",animation_path:"diameter-of-binary-tree",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:4,tags:["Depth-First Search","Tree","Binary Tree"]},{id:"1448",title:"Count Good Nodes in Binary Tree",external_link:"count-good-nodes-in-binary-tree",animation_path:"count-good-nodes-in-binary-tree",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Depth-First Search","Tree","Breadth-First Search","Binary Tree"]},{id:"129",title:"Sum Root to Leaf Numbers",external_link:"sum-root-to-leaf-numbers",animation_path:"sum-root-to-leaf-numbers",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Depth-First Search","Tree","Binary Tree"]},{id:"1110",title:"Delete Nodes And Return Forest",external_link:"delete-nodes-and-return-forest",animation_path:"delete-nodes-and-return-forest",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Hash Table","Depth-First Search","Tree","Binary Tree"]},{id:"236",title:"Lowest Common Ancestor of a Binary Tree",external_link:"lowest-common-ancestor-of-a-binary-tree",animation_path:"lowest-common-ancestor-of-a-binary-tree",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Depth-First Search","Tree","Binary Tree"]},{id:"652",title:"Find Duplicate Subtrees",external_link:"find-duplicate-subtrees",animation_path:"find-duplicate-subtrees",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Hash Table","Depth-First Search","Tree","Binary Tree"]},{id:"114",title:"Flatten Binary Tree to Linked List",external_link:"flatten-binary-tree-to-linked-list",animation_path:"flatten-binary-tree-to-linked-list",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Depth-First Search","Tree","Binary Tree","Stack","Linked List"]},{id:"979",title:"Distribute Coins in Binary Tree",external_link:"distribute-coins-in-binary-tree",animation_path:"distribute-coins-in-binary-tree",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Depth-First Search","Tree","Binary Tree"]},{id:"545",title:"Boundary of Binary Tree",external_link:"boundary-of-binary-tree",animation_path:"boundary-of-binary-tree",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Depth-First Search","Tree","Binary Tree"]},{id:"2096",title:"Step-By-Step Directions From a Binary Tree Node to Another",external_link:"step-by-step-directions-from-a-binary-tree-node-to-another",animation_path:"step-by-step-directions-from-a-binary-tree-node-to-another",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["String","Depth-First Search","Tree","Binary Tree"]},{id:"124",title:"Binary Tree Maximum Path Sum",external_link:"binary-tree-maximum-path-sum",animation_path:"binary-tree-maximum-path-sum",difficulty:"Hard",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Dynamic Programming","Depth-First Search","Tree","Binary Tree"]}]},29:{id:"29",name:"BST / Ordered Set",info_path:"/learn/dsa/bst-introduction",problems:[{id:"700",title:"Search in a Binary Search Tree",external_link:"search-in-a-binary-search-tree",difficulty:"Easy",lists:["am_600"],frequency:2,tags:["Tree","Binary Tree","Binary Search Tree"]},{id:"270",title:"Closest Binary Search Tree Value",external_link:"closest-binary-search-tree-value",animation_path:"closest-binary-search-tree-value",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Depth-First Search","Binary Search","Tree","Binary Tree","Binary Search Tree"]},{id:"653",title:"Two Sum IV - Input is a BST",external_link:"two-sum-iv-input-is-a-bst",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Hash Table","Depth-First Search","Tree","Breadth-First Search","Two Pointers"]},{id:"938",title:"Range Sum of BST",external_link:"range-sum-of-bst",animation_path:"range-sum-of-bst",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Depth-First Search","Tree","Binary Tree","Binary Search Tree"]},{id:"285",title:"Inorder Successor in BST",external_link:"inorder-successor-in-bst",animation_path:"inorder-successor-in-bst",difficulty:"Medium",lists:["am_600"],frequency:1,tags:["Depth-First Search","Tree","Binary Tree","Binary Search Tree"]},{id:"510",title:"Inorder Successor in BST II",external_link:"inorder-successor-in-bst-ii",animation_path:"inorder-successor-in-bst-ii",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Tree","Binary Tree","Binary Search Tree"]},{id:"701",title:"Insert into a Binary Search Tree",external_link:"insert-into-a-binary-search-tree",animation_path:"insert-into-a-binary-search-tree",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Tree","Binary Tree","Binary Search Tree"]},{id:"450",title:"Delete Node in a BST",external_link:"delete-node-in-a-bst",animation_path:"delete-node-in-a-bst",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Tree","Binary Tree","Binary Search Tree"]},{id:"669",title:"Trim a Binary Search Tree",external_link:"trim-a-binary-search-tree",animation_path:"trim-a-binary-search-tree",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Depth-First Search","Tree","Binary Tree","Binary Search Tree"]},{id:"235",title:"Lowest Common Ancestor of a Binary Search Tree",external_link:"lowest-common-ancestor-of-a-binary-search-tree",animation_path:"lowest-common-ancestor-of-a-binary-search-tree",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Depth-First Search","Tree","Binary Tree","Binary Search Tree"]},{id:"333",title:"Largest BST Subtree",external_link:"largest-bst-subtree",animation_path:"largest-bst-subtree",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Dynamic Programming","Depth-First Search","Tree","Binary Tree","Binary Search Tree"]},{id:"99",title:"Recover Binary Search Tree",external_link:"recover-binary-search-tree",animation_path:"recover-binary-search-tree",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Depth-First Search","Tree","Binary Tree","Binary Search Tree"]},{id:"426",title:"Convert Binary Search Tree to Sorted Doubly Linked List",external_link:"convert-binary-search-tree-to-sorted-doubly-linked-list",animation_path:"convert-binary-search-tree-to-sorted-doubly-linked-list",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Depth-First Search","Tree","Binary Tree","Stack","Linked List"]},{id:"1008",title:"Construct Binary Search Tree from Preorder Traversal",external_link:"construct-binary-search-tree-from-preorder-traversal",animation_path:"construct-binary-search-tree-from-preorder-traversal",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Tree","Binary Tree","Stack","Monotonic Stack"]},{id:"729",title:"My Calendar I",external_link:"my-calendar-i",animation_path:"my-calendar-i",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["Array","Binary Search","Design","Ordered Set","Segment Tree"]},{id:"731",title:"My Calendar II",external_link:"my-calendar-ii",animation_path:"my-calendar-ii",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["Array","Binary Search","Prefix Sum","Design","Ordered Set"]},{id:"2034",title:"Stock Price Fluctuation ",external_link:"stock-price-fluctuation",animation_path:"stock-price-fluctuation",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Hash Table","Heap (Priority Queue)","Design","Ordered Set","Data Stream"]}]},30:{id:"30",name:"Tries",info_path:"/learn/dsa/tries-introduction",problems:[{id:"208",title:"Implement Trie (Prefix Tree)",external_link:"implement-trie-prefix-tree",animation_path:"implement-trie-prefix-tree",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["String","Hash Table","Design","Trie"]},{id:"211",title:"Design Add and Search Words Data Structure",external_link:"design-add-and-search-words-data-structure",animation_path:"design-add-and-search-words-data-structure",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["String","Depth-First Search","Design","Trie"]},{id:"1268",title:"Search Suggestions System",external_link:"search-suggestions-system",animation_path:"search-suggestions-system",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","String","Sorting","Binary Se
1arch","Heap (Priority Queue)"]},{id:"720",title:"Longest Word in Dictionary",external_link:"longest-word-in-dictionary",animation_path:"longest-word-in-dictionary",difficulty:"Medium",lists:["am_600","am_300"],frequency:1,tags:["Array","String","Hash Table","Sorting","Trie"]},{id:"648",title:"Replace Words",external_link:"replace-words",animation_path:"replace-words",difficulty:"Medium",lists:["am_600"],frequency:1,tags:["Array","String","Hash Table","Trie"]},{id:"421",title:"Maximum XOR of Two Numbers in an Array",external_link:"maximum-xor-of-two-numbers-in-an-array",animation_path:"maximum-xor-of-two-numbers-in-an-array",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Hash Table","Bit Manipulation","Trie"]},{id:"1233",title:"Remove Sub-Folders from the Filesystem",external_link:"remove-sub-folders-from-the-filesystem",animation_path:"remove-sub-folders-from-the-filesystem",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","String","Depth-First Search","Trie"]},{id:"3043",title:"Find the Length of the Longest Common Prefix",external_link:"find-the-length-of-the-longest-common-prefix",animation_path:"find-the-length-of-the-longest-common-prefix",difficulty:"Medium",lists:["am_600"],frequency:5,tags:["Array","String","Hash Table","Trie"]},{id:"2452",title:"Words Within Two Edits of Dictionary",external_link:"words-within-two-edits-of-dictionary",animation_path:"words-within-two-edits-of-dictionary",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Array","String","Trie"]},{id:"212",title:"Word Search II",external_link:"word-search-ii",animation_path:"word-search-ii",difficulty:"Hard",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Array","String","Matrix","Backtracking","Trie"]},{id:"1032",title:"Stream of Characters",external_link:"stream-of-characters",animation_path:"stream-of-characters",difficulty:"Hard",lists:["am_600"],frequency:2,tags:["Array","String","Design","Trie","Data Stream"]},{id:"472",title:"Concatenated Words",external_link:"concatenated-words",animation_path:"concatenated-words",difficulty:"Hard",lists:["am_600"],frequency:2,tags:["Array","String","Dynamic Programming","Sorting","Depth-First Search"]},{id:"425",title:"Word Squares",external_link:"word-squares",animation_path:"word-squares",difficulty:"Hard",lists:["am_600"],frequency:2,tags:["Array","String","Backtracking","Trie"]},{id:"336",title:"Palindrome Pairs",external_link:"palindrome-pairs",animation_path:"palindrome-pairs",difficulty:"Hard",lists:["am_600"],frequency:2,tags:["Array","String","Hash Table","Trie"]}]},31:{id:"31",name:"Heaps",info_path:"/learn/dsa/heaps-introduction",problems:[{id:"1046",title:"Last Stone Weight",external_link:"last-stone-weight",animation_path:"last-stone-weight",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Array","Heap (Priority Queue)"]},{id:"1167",title:"Minimum Cost to Connect Sticks",external_link:"minimum-cost-to-connect-sticks",animation_path:"minimum-cost-to-connect-sticks",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Greedy","Heap (Priority Queue)"]},{id:"1642",title:"Furthest Building You Can Reach",external_link:"furthest-building-you-can-reach",animation_path:"furthest-building-you-can-reach",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["Array","Greedy","Heap (Priority Queue)"]},{id:"1834",title:"Single-Threaded CPU",external_link:"single-threaded-cpu",animation_path:"single-threaded-cpu",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["Array","Sorting","Heap (Priority Queue)"]},{id:"1882",title:"Process Tasks Using Servers",external_link:"process-tasks-using-servers",animation_path:"process-tasks-using-servers",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Heap (Priority Queue)"]},{id:"1383",title:"Maximum Performance of a Team",external_link:"maximum-performance-of-a-team",animation_path:"maximum-performance-of-a-team",difficulty:"Hard",lists:["am_600"],frequency:1,tags:["Array","Sorting","Greedy","Heap (Priority Queue)"]},{id:"1405",title:"Longest Happy String",external_link:"longest-happy-string",animation_path:"longest-happy-string",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["String","Greedy","Heap (Priority Queue)"]}]},32:{id:"32",name:"Two Heaps",info_path:"https://emre.me/coding-patterns/two-heaps/",problems:[{id:"295",title:"Find Median from Data Stream",external_link:"find-median-from-data-stream",animation_path:"find-median-from-data-stream",difficulty:"Hard",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Sorting","Two Pointers","Heap (Priority Queue)","Design","Data Stream"]},{id:"502",title:"IPO",external_link:"ipo",animation_path:"ipo",difficulty:"Hard",lists:["am_600","am_300","am_150"],frequency:3,tags:["Array","Sorting","Greedy","Heap (Priority Queue)"]},{id:"480",title:"Sliding Window Median",external_link:"sliding-window-median",animation_path:"sliding-window-median",difficulty:"Hard",lists:["am_600","am_300"],frequency:4,tags:["Array","Hash Table","Heap (Priority Queue)","Sliding Window"]}]},33:{id:"33",name:"Top K Elements",info_path:"https://www.youtube.com/watch?v=6_v6OoxvMOE&list=PLK63NuByH5o9odyBT7nfYkHZyvGQ5oVp2",problems:[{id:"703",title:"Kth Largest Element in a Stream",external_link:"kth-largest-element-in-a-stream",animation_path:"kth-largest-element-in-a-stream",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:3,tags:["Tree","Heap (Priority Queue)","Binary Tree","Design","Binary Search Tree"]},{id:"347",title:"Top K Frequent Elements",external_link:"top-k-frequent-elements",animation_path:"top-k-frequent-elements",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Hash Table","Sorting","Heap (Priority Queue)","Counting"]},{id:"973",title:"K Closest Points to Origin",external_link:"k-closest-points-to-origin",animation_path:"k-closest-points-to-origin",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Math","Sorting","Heap (Priority Queue)","Divi
1de and Conquer"]}]},34:{id:"34",name:"Intervals",info_path:"/learn/dsa/intervals-introduction",problems:[{id:"228",title:"Summary Ranges",external_link:"summary-ranges",animation_path:"summary-ranges",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Array"]},{id:"252",title:"Meeting Rooms",external_link:"meeting-rooms",animation_path:"meeting-rooms",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Array","Sorting"]},{id:"253",title:"Meeting Rooms II",external_link:"meeting-rooms-ii",animation_path:"meeting-rooms-ii",difficulty:"Medium",lists:["am_600"],frequency:5,tags:["Array","Sorting","Greedy","Two Pointers","Prefix Sum"]},{id:"1229",title:"Meeting Scheduler",external_link:"meeting-scheduler",animation_path:"meeting-scheduler",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Sorting","Two Pointers"]},{id:"986",title:"Interval List Intersections",external_link:"interval-list-intersections",animation_path:"interval-list-intersections",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Two Pointers","Sweep Line"]},{id:"1094",title:"Car Pooling",external_link:"car-pooling",animation_path:"car-pooling",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Sorting","Prefix Sum","Heap (Priority Queue)","Simulation"]},{id:"56",title:"Merge Intervals",external_link:"merge-intervals",animation_path:"merge-intervals",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Sorting"]},{id:"57",title:"Insert Interval",external_link:"insert-interval",animation_path:"insert-interval",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array"]},{id:"1288",title:"Remove Covered Intervals",external_link:"remove-covered-intervals",animation_path:"remove-covered-intervals",difficulty:"Medium",lists:["am_600"],frequency:1,tags:["Array","Sorting"]},{id:"763",title:"Partition Labels",external_link:"partition-labels",animation_path:"partition-labels",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["String","Hash Table","Greedy","Two Pointers"]},{id:"452",title:"Minimum Number of Arrows to Burst Balloons",external_link:"minimum-number-of-arrows-to-burst-balloons",animation_path:"minimum-number-of-arrows-to-burst-balloons",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Sorting","Greedy"]},{id:"1353",title:"Maximum Number of Events That Can Be Attended",external_link:"maximum-number-of-events-that-can-be-attended",animation_path:"maximum-number-of-events-that-can-be-attended",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Array","Sorting","Greedy","Heap (Priority Queue)"]},{id:"435",title:"Non-overlapping Intervals",external_link:"non-overlapping-intervals",animation_path:"non-overlapping-intervals",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["Array","Dynamic Programming","Sorting","Greedy"]},{id:"2054",title:"Two Best Non-Overlapping Events",external_link:"two-best-non-overlapping-events",animation_path:"two-best-non-overlapping-events",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Dynamic Programming","Sorting","Binary Search","Heap (Priority Queue)"]},{id:"2402",title:"Meeting Rooms III",external_link:"meeting-rooms-iii",animation_path:"meeting-rooms-iii",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["Array","Hash Table","Sorting","Heap (Priority Queue)","Simulation"]}]},35:{id:"35",name:"K-Way Merge",info_path:"",problems:[{id:"373",title:"Find K Pairs with Smallest Sums",external_link:"find-k-pairs-with-smallest-sums",animation_path:"find-k-pairs-with-smallest-sums",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Heap (Priority Queue)"]},{id:"378",title:"Kth Smallest Element in a Sorted Matrix",external_link:"kth-smallest-element-in-a-sorted-matrix",animation_path:"kth-smallest-element-in-a-sorted-matrix",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Sorting","Binary Search","Matrix","Heap (Priority Queue)"]},{id:"23",title:"Merge k Sorted Lists",external_link:"merge-k-sorted-lists",animation_path:"merge-k-sorted-lists",difficulty:"Hard",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Heap (Priority Queue)","Linked List","Divide and Conquer","Merge Sort"]},{id:"632",title:"Smallest Range Covering Elements from K Lists",external_link:"smallest-range-covering-elements-from-k-lists",animation_path:"smallest-range-covering-elements-from-k-lists",difficulty:"Hard",lists:["am_600","am_300"],frequency:3,tags:["Array","Hash Table","Sorting","Greedy","Heap (Priority Queue)"]}]},36:{id:"36",name:"Data Structure Design",info_path:"",problems:[{id:"359",title:"Logger Rate Limiter",external_link:"logger-rate-limiter",animation_path:"logger-rate-limiter",difficulty:"Easy",lists:["am_600"],frequency:5,tags:["Hash Table","Design","Data Stream"]},{id:"232",title:"Implement Queue using Stacks",external_link:"implement-queue-using-stacks",animation_path:"implement-queue-using-stacks",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Stack","Design","Queue"]},{id:"225",title:"Implement Stack using Queues",external_link:"implement-stack-using-queues",animation_path:"implement-stack-using-queues",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Stack","Design","Queue"]},{id:"622",title:"Design Circular Queue",external_link:"design-circular-queue",animation_path:"design-circular-queue",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Design","Linked List","Queue"]},{id:"641",title:"Design Circular Deque",external_link:"design-circular-deque",animation_path:"design-circular-deque",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Design","Linked List","Queue"]},{id:"362",title:"Design Hit Counter",external_link:"design-hit-counter",animation_path:"design-hit-counter",difficulty:"Medium",lists:["am_600"],frequency:5,tags:["Array","Binary Search","Design","Queue","Data Stream"]},{id:"1472",title:"Design Browser History",external_link:"design-browser-history",animation_path:"design-browser-history",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Stack","Design","Linked List","Data Stream"]},{id:"981",title:"Time Based Key-Value Store",external_link:"time-based-key-value-store",animation_path:"time-based-key-value-store",difficulty:"Medium",lists:["am_600","am_300"],frequency:5,tags:["String","Hash Table","Binary Search","Design"]},{id:"271",title:"Encode and Decode Strings",external_link:"encode-and-decode-strings",animation_path:"encode-and-decode-strings",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","String","Design"]},{id:"1146",title:"Snapshot Array",external_link:"snapshot-array",animation_path:"snapshot-array",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Array","Hash Table","Binary Search","Design"]}
1,{id:"355",title:"Design Twitter",external_link:"design-twitter",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Hash Table","Heap (Priority Queue)","Design","Linked List"]},{id:"146",title:"LRU Cache",external_link:"lru-cache",animation_path:"lru-cache",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Hash Table","Design","Linked List","Doubly-Linked List"]},{id:"380",title:"Insert Delete GetRandom O(1)",external_link:"insert-delete-getrandom-o1",difficulty:"Medium",animation_path:"insert-delete-getrandom-o1",lists:["am_600","am_300","am_150"],frequency:5,tags:["Array","Hash Table","Math","Design","Randomized"]},{id:"2353",title:"Design a Food Rating System",external_link:"design-a-food-rating-system",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","String","Hash Table","Heap (Priority Queue)","Design"]},{id:"460",title:"LFU Cache",external_link:"lfu-cache",difficulty:"Hard",animation_path:"lfu-cache",lists:["am_600"],frequency:4,tags:["Hash Table","Design","Linked List","Doubly-Linked List"]},{id:"716",title:"Max Stack",external_link:"max-stack",difficulty:"Hard",animation_path:"max-stack",lists:["am_600"],frequency:5,tags:["Stack","Design","Linked List","Ordered Set","Doubly-Linked List"]},{id:"895",title:"Maximum Frequency Stack",external_link:"maximum-frequency-stack",difficulty:"Hard",animation_path:"maximum-frequency-stack",lists:["am_600","am_300","am_150"],frequency:3,tags:["Hash Table","Stack","Design","Ordered Set"]},{id:"432",title:"All O`one Data Structure",external_link:"all-oone-data-structure",difficulty:"Hard",animation_path:"all-oone-data-structure",lists:["am_600"],frequency:5,tags:["Hash Table","Design","Linked List","Doubly-Linked List"]},{id:"715",title:"Range Module",external_link:"range-module",difficulty:"Hard",animation_path:"range-module",lists:["am_600"],frequency:3,tags:["Design","Ordered Set","Segment Tree"]},{id:"642",title:"Design Search Autocomplete System",external_link:"design-search-autocomplete-system",difficulty:"Hard",animation_path:"design-search-autocomplete-system",lists:["am_600"],frequency:4,tags:["String","Sorting","Depth-First Search","Heap (Priority Queue)","Design"]},{id:"588",title:"Design In-Memory File System",external_link:"design-in-memory-file-system",difficulty:"Hard",animation_path:"design-in-memory-file-system",lists:["am_600"],frequency:5,tags:["String","Hash Table","Sorting","Design","Trie"]},{id:"2296",title:"Design a Text Editor",external_link:"design-a-text-editor",difficulty:"Hard",animation_path:"design-a-text-editor",lists:["am_600"],frequency:4,tags:["String","Simulation","Stack","Design","Linked List"]}]},37:{id:"37",name:"Greedy",info_path:"/learn/dsa/greedy-introduction",problems:[{id:"455",title:"Assign Cookies",external_link:"assign-cookies",animation_path:"assign-cookies",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array","Sorting","Greedy","Two Pointers"]}
1,{id:"3074",title:"Apple Redistribution into Boxes",external_link:"apple-redistribution-into-boxes",animation_path:"apple-redistribution-into-boxes",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array","Sorting","Greedy"]},{id:"55",title:"Jump Game",external_link:"jump-game",animation_path:"jump-game",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Dynamic Programming","Greedy"]},{id:"45",title:"Jump Game II",external_link:"jump-game-ii",animation_path:"jump-game-ii",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Array","Dynamic Programming","Greedy"]},{id:"1871",title:"Jump Game VII",external_link:"jump-game-vii",animation_path:"jump-game-vii",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["String","Dynamic Programming","Prefix Sum","Sliding Window"]},{id:"921",title:"Minimum Add to Make Parentheses Valid",external_link:"minimum-add-to-make-parentheses-valid",animation_path:"minimum-add-to-make-parentheses-valid",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["String","Greedy","Stack"]},{id:"134",title:"Gas Station",external_link:"gas-station",animation_path:"gas-station",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Greedy"]},{id:"621",title:"Task Scheduler",external_link:"task-scheduler",animation_path:"task-scheduler",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Hash Table","Sorting","Greedy","Heap (Priority Queue)"]},{id:"670",title:"Maximum Swap",external_link:"maximum-swap",animation_path:"maximum-swap",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Math","Greedy"]},{id:"406",title:"Queue Reconstruction by Height",external_link:"queue-reconstruction-by-height",animation_path:"queue-reconstruction-by-height",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Sorting","Segment Tree","Binary Indexed Tree"]},{id:"1717",title:"Maximum Score From Removing Substrings",external_link:"maximum-score-from-removing-substrings",animation_path:"maximum-score-from-removing-substrings",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["String","Greedy","Stack"]},{id:"1488",title:"Avoid Flood in The City",external_link:"avoid-flood-in-the-city",animation_path:"avoid-flood-in-the-city",difficulty:"Medium",lists:["am_600"],frequency:5,tags:["Array","Hash Table","Greedy","Binary Search","Heap (Priority Queue)"]},{id:"1975",title:"Maximum Matrix Sum",external_link:"maximum-matrix-sum",animation_path:"maximum-matrix-sum",difficulty:"Medium",lists:["am_600"],frequency:5,tags:["Array","Greedy","Matrix"]},{id:"826",title:"Most Profit Assigning Work",external_link:"most-profit-assigning-work",animation_path:"most-profit-assigning-work",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Sorting","Greedy","Binary Search","Two Pointers"]},{id:"857",title:"Minimum Cost to Hire K Workers",external_link:"minimum-cost-to-hire-k-workers",animation_path:"minimum-cost-to-hire-k-workers",difficulty:"Hard",lists:["am_600","am_300"],frequency:1,tags:["Array","Sorting","Greedy","Heap (Priority Queue)"]},{id:"135",title:"Candy",external_link:"candy",animation_path:"candy",difficulty:"Hard",lists:["am_600","am_300"],frequency:4,tags:["Array","Greedy"]},{id:"871",title:"Minimum Number of Refueling Stops",external_link:"minimum-number-of-refueling-stops",animation_path:"minimum-number-of-refueling-stops",difficulty:"Hard",lists:["am_600","am_300"],frequency:4,tags:["Array","Dynamic Programming","Greedy","Heap (Priority Queue)"]},{id:"757",title:"Set Intersection Size At Least Two",external_link:"set-intersection-size-at-least-two",animation_path:"set-intersection-size-at-least-two",difficulty:"Hard",lists:["am_600"],frequency:5,tags:["Array","Sorting","Greedy"]}]},38:{id:"38",name:"Depth First Search (DFS)",info_path:"https://www.youtube.com/watch?v=7fujbpJ0LB4",problems:[{id:"733",title:"Flood Fill",external_link:"flood-fill",animation_path:"flood-fill",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array","Depth-First Search","Matrix","Breadth-First Search"]},{id:"200",title:"Number of Islands",external_link:"number-of-islands",animation_path:"number-of-islands",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Depth-First Search","Matr
1ix","Breadth-First Search","Union-Find"]},{id:"694",title:"Number of Distinct Islands",external_link:"number-of-distinct-islands",animation_path:"number-of-distinct-islands",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Hash Table","Sorting","Depth-First Search","Matrix"]},{id:"79",title:"Word Search",external_link:"word-search",animation_path:"word-search",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","String","Depth-First Search","Matrix","Backtracking"]},{id:"1376",title:"Time Needed to Inform All Employees",external_link:"time-needed-to-inform-all-employees",animation_path:"time-needed-to-inform-all-employees",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Depth-First Search","Tree","Breadth-First Search"]},{id:"797",title:"All Paths From Source to Target",external_link:"all-paths-from-source-to-target",animation_path:"all-paths-from-source-to-target",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Depth-First Search","Breadth-First Search","Graph Theory","Backtracking"]},{id:"133",title:"Clone Graph",external_link:"clone-graph",animation_path:"clone-graph",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["Hash Table","Depth-First Search","Breadth-First Search","Graph Theory"]},{id:"785",title:"Is Graph Bipartite?",external_link:"is-graph-bipartite",animation_path:"is-graph-bipartite",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["Depth-First Search","Breadth-First Search","Graph Theory","Union-Find"]},{id:"863",title:"All Nodes Distance K in Binary Tree",external_link:"all-nodes-distance-k-in-binary-tree",animation_path:"all-nodes-distance-k-in-binary-tree",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Hash Table","Depth-First Search","Tree","Breadth-First Search","Binary Tree"]},{id:"690",title:"Employee Importance",external_link:"employee-importance",animation_path:"employee-importance",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Hash Table","Depth-First Search","Tree","Breadth-First Search"]},{id:"130",title:"Surrounded Regions",external_link:"surrounded-regions",animation_path:"surrounded-regions",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["Array","Depth-First Search","Matrix","Breadth-First Search","Union-Find"]},{id:"417",title:"Pacific Atlantic Water Flow",external_link:"pacific-atlantic-water-flow",animation_path:"pacific-atlantic-water-flow",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Depth-First Search","Matrix","Breadth-First Search"]},{id:"1020",title:"Number of Enclaves",external_link:"number-of-enclaves",animation_path:"number-of-enclaves",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Array","Depth-First Search","Matrix","Breadth-First Search","Union-Find"]},{id:"827",title:"Making A Large Island",external_link:"making-a-large-island",animation_path:"making-a-large-island",difficulty:"Hard",lists:["am_600","am_300"],frequency:5,tags:["Array","Depth-First Search","Matrix","Breadth-First Search","Union-Find"]},{id:"1192",title:"Critical Connections in a Network",external_link:"critical-connections-in-a-network",animation_path:"critical-connections-in-a-network",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Depth-First Search","Graph Theory","Biconnected Component"]},{id:"2246",title:"Longest Path With Different Adjacent Characters",external_link:"longest-path-with-different-adjacent-characters",animation_path:"longest-path-with-different-adjacent-characters",difficulty:"Hard",lists:["am_600"],frequency:2,tags:["Array","String","Depth-First Search","Tree","Graph Theory"]}]},39:{id:"39",name:"Breadth First Search (BFS)",info_path:"https://www.youtube.com/watch?v=oDqjPvD54Ss",problems:[{id:"994",title:"Rotting Oranges",external_link:"rotting-oranges",animation_path:"rotting-oranges",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Array","Matrix","Breadth-First Search"]},{id:"542",title:"01 Matrix",external_link:"01-matrix",animation_path:"01-matrix",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["Array","Dynamic Programming","Matrix","Breadth-First Search"]},{id:"752",title:"Open the Lock",external_link:"open-the-lock",animation_path:"open-the-lock",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Array","String","Hash Table","Breadth-First Search"]},{id:"909",title:"Snakes and Ladders",external_link:"snakes-and-ladders",animation_path:"snakes-and-ladders",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Matrix","Breadth-First Search"]},{id:"433",title:"Minimum Genetic Mutation",external_link:"minimum-genetic-mutation",animation_path:"minimum-genetic-mutation",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["String","Hash Table","Breadth-First Search"]},{id:"286",title:"Walls and Gates",external_link:"walls-and-gates",animation_path:"walls-and-gates",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Matrix","Breadth-First Search"]},{id:"1197",title:"Minimum Knight Moves",external_link:"minimum-knight-moves",animation_path:"minimum-knight-moves",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Breadth-First Search"]},{id:"1091",title:"Shortest Path in Binary Matrix",external_link:"shortest-path-in-binary-matrix",animation_path:"shortest-path-in-binary-matrix",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Matrix","Breadth-First Search"]},{id:"1102",title:"Path With Maximum Minimum Value",external_link:"path-with-maximum-minimum-value",animation_path:"path-with-maximum-minimum-value",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Depth-First Search","Binary Search","Matr
1ix","Breadth-First Search"]},{id:"1293",title:"Shortest Path in a Grid with Obstacles Elimination",external_link:"shortest-path-in-a-grid-with-obstacles-elimination",animation_path:"shortest-path-in-a-grid-with-obstacles-elimination",difficulty:"Hard",lists:["am_600","am_300"],frequency:3,tags:["Array","Matrix","Breadth-First Search"]},{id:"815",title:"Bus Routes",external_link:"bus-routes",animation_path:"bus-routes",difficulty:"Hard",lists:["am_600","am_300"],frequency:4,tags:["Array","Hash Table","Breadth-First Search"]},{id:"127",title:"Word Ladder",external_link:"word-ladder",animation_path:"word-ladder",difficulty:"Hard",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["String","Hash Table","Breadth-First Search"]},{id:"2290",title:"Minimum Obstacle Removal to Reach Corner",external_link:"minimum-obstacle-removal-to-reach-corner",animation_path:"minimum-obstacle-removal-to-reach-corner",difficulty:"Hard",lists:["am_600"],frequency:1,tags:["Array","Matrix","Breadth-First Search","Heap (Priority Queue)","Graph Theory"]}]},40:{id:"40",name:"Topological Sort",info_path:"https://www.youtube.com/watch?v=eL-KzMXSXXI",problems:[{id:"210",title:"Course Schedule II",external_link:"course-schedule-ii",animation_path:"course-schedule-ii",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Depth-First Search","Breadth-First Search","Graph Theory","Topological Sort"]},{id:"1462",title:"Course Schedule IV",external_link:"course-schedule-iv",animation_path:"course-schedule-iv",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Depth-First Search","Breadth-First Search","Graph Theory","Topological Sort"]},{id:"1136",title:"Parallel Courses",external_link:"parallel-courses",animation_path:"parallel-courses",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Graph Theory","Topological Sort"]},{id:"802",title:"Find Eventual Safe States",external_link:"find-eventual-safe-states",animation_path:"find-eventual-safe-states",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Depth-First Search","Breadth-First Search","Graph Theory","Topological Sort"]},{id:"310",title:"Minimum Height Trees",external_link:"minimum-height-trees",animation_path:"minimum-height-trees",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Depth-First Search","Breadth-First Search","Graph Theory","Topological Sort"]},{id:"2115",title:"Find All Possible Recipes from Given Supplies",external_link:"find-all-possible-recipes-from-given-supplies",animation_path:"find-all-possible-recipes-from-given-supplies",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","String","Hash Table","Graph Theory","Topological Sort"]},{id:"1203",title:"Sort Items by Groups Respecting Dependencies",external_link:"sort-items-by-groups-respecting-dependencies",animation_path:"sort-items-by-groups-respecting-dependencies",difficulty:"Hard",lists:["am_600","am_300"],frequency:2,tags:["Depth-First Search","Breadth-First Search","Graph Theory","Topological Sort"]},{id:"269",title:"Alien Dictionary",external_link:"alien-dictionary",animation_path:"alien-dictionary",difficulty:"Hard",lists:["am_600"],frequency:5,tags:["Array","String","Depth-First Search","Breadth-First Search","Graph Theory"]}]},41:{id:"41",name:"Union Find",info_path:"https://www.youtube.com/watch?v=ibjEGG7ylHk&list=PLDV1Zeh2NRsBI1C-mR6ZhHTyfoEJWlxvq",problems:[{id:"323",title:"Number of Connected Components in an Undirected Graph",external_link:"number-of-connected-components-in-an-undirected-graph",animation_path:"number-of-connected-components-in-an-undirected-graph",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Depth-First Search","Breadth-First Search","Graph Theory","Union-Find"]},{id:"547",title:"Number of Provinces",external_link:"number-of-provinces",animation_path:"number-of-provinces",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["Depth-First Search","Breadth-First Search","Graph Theory","Union-Find"]},{id:"684",title:"Redundant Connection",external_link:"redundant-connection",animation_path:"redundant-connection",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:2,tags:["Depth-First Search","Breadth-First Search","Graph Theory","Union-Find"]}
1,{id:"261",title:"Graph Valid Tree",external_link:"graph-valid-tree",animation_path:"graph-valid-tree",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Depth-First Search","Breadth-First Search","Graph Theory","Union-Find"]},{id:"721",title:"Accounts Merge",external_link:"accounts-merge",animation_path:"accounts-merge",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Array","String","Hash Table","Sorting","Depth-First Search"]},{id:"399",title:"Evaluate Division",external_link:"evaluate-division",animation_path:"evaluate-division",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","String","Depth-First Search","Breadth-First Search","Graph Theory"]},{id:"947",title:"Most Stones Removed with Same Row or Column",external_link:"most-stones-removed-with-same-row-or-column",animation_path:"most-stones-removed-with-same-row-or-column",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Hash Table","Depth-First Search","Graph Theory","Union-Find"]},{id:"924",title:"Minimize Malware Spread",external_link:"minimize-malware-spread",animation_path:"minimize-malware-spread",difficulty:"Hard",lists:["am_600","am_300"],frequency:2,tags:["Array","Hash Table","Depth-First Search","Breadth-First Search","Graph Theory"]},{id:"305",title:"Number of Islands II",external_link:"number-of-islands-ii",animation_path:"number-of-islands-ii",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["Array","Hash Table","Union-Find"]}]},42:{id:"42",name:"Minimum Spanning Tree",info_path:"https://www.youtube.com/watch?v=4ZlRH0eK-qQ",problems:[{id:"1584",title:"Min Cost to Connect All Points",external_link:"min-cost-to-connect-all-points",animation_path:"min-cost-to-connect-all-points",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["Array","Graph Theory","Union-Find","Minimum Spanning Tree"]},{id:"1135",title:"Connecting Cities With Minimum Cost",external_link:"connecting-cities-with-minimum-cost",animation_path:"connecting-cities-with-minimum-cost",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Heap (Priority Queue)","Graph Theory","Union-Find","Minimum Spanning Tree"]},{id:"1168",title:"Optimize Water Distribution in a Village",external_link:"optimize-water-distribution-in-a-village",animation_path:"optimize-water-distribution-in-a-village",difficulty:"Hard",lists:["am_600"],frequency:1,tags:["Heap (Priority Queue)","Graph Theory","Union-Find","Minimum Spanning Tree"]},{id:"1489",title:"Find Critical and Pseudo-Critical Edges in Minimum Spanning Tree",external_link:"find-critical-and-pseudo-critical-edges-in-minimum-spanning-tree",animation_path:"find-critical-and-pseudo-critical-edges-in-minimum-spanning-tree",difficulty:"Hard",lists:["am_600"],frequency:2,tags:["Sorting","Graph Theory","Union-Find","Minimum Spanning Tree","Strongly Connected Component"]},{id:"3600",title:"Maximize Spanning Tree Stability with Upgrades",external_link:"maximize-spanning-tree-stability-with-upgrades",animation_path:"maximize-spanning-tree-stability-with-upgrades",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Greedy","Binary Search","Graph Theory","Union-Find","Minimum Spanning Tree"]}]},43:{id:"43",name:"Shortest Path",info_path:"https://www.youtube.com/watch?v=j0OUwduDOS0",problems:[{id:"743",title:"Network Delay Time",external_link:"network-delay-time",animation_path:"network-delay-time",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["Depth-First Search","Breadth-First Search","Heap (Priority Queue)","Graph Theory","Shortest Path"]},{id:"787",title:"Cheapest Flights Within K Stops",external_link:"cheapest-flights-within-k-stops",animation_path:"cheapest-flights-within-k-stops",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["Dynamic Programming","Depth-First Search","Breadth-First Search","Heap (Priority Queue)","Graph Theory"]},{id:"1514",title:"Path with Maximum Probability",external_link:"path-with-maximum-probability",animation_path:"path-with-maximum-probability",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Array","Heap (Priority Queue)","Graph Theory","Shortest Path"]},{id:"1631",title:"Path With Minimum Effort",external_link:"path-with-minimum-effort",animation_path:"path-with-minimum-effort",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Array","Depth-First Search","Binary Search","Matr
1ix","Breadth-First Search"]},{id:"505",title:"The Maze II",external_link:"the-maze-ii",animation_path:"the-maze-ii",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Array","Depth-First Search","Matrix","Breadth-First Search","Heap (Priority Queue)"]},{id:"2976",title:"Minimum Cost to Convert String I",external_link:"minimum-cost-to-convert-string-i",animation_path:"minimum-cost-to-convert-string-i",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","String","Graph Theory","Shortest Path"]},{id:"3650",title:"Minimum Cost Path with Edge Reversals",external_link:"minimum-cost-path-with-edge-reversals",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Heap (Priority Queue)","Graph Theory","Shortest Path"]},{id:"3341",title:"Find Minimum Time to Reach Last Room I",external_link:"find-minimum-time-to-reach-last-room-i",animation_path:"find-minimum-time-to-reach-last-room-i",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Array","Matrix","Heap (Priority Queue)","Graph Theory","Shortest Path"]},{id:"778",title:"Swim in Rising Water",external_link:"swim-in-rising-water",animation_path:"swim-in-rising-water",difficulty:"Hard",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Depth-First Search","Binary Search","Matrix","Breadth-First Search"]},{id:"1368",title:"Minimum Cost to Make at Least One Valid Path in a Grid",external_link:"minimum-cost-to-make-at-least-one-valid-path-in-a-grid",animation_path:"minimum-cost-to-make-at-least-one-valid-path-in-a-grid",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Matrix","Breadth-First Search","Heap (Priority Queue)","Graph Theory"]},{id:"2203",title:"Minimum Weighted Subgraph With the Required Paths",external_link:"minimum-weighted-subgraph-with-the-required-paths",animation_path:"minimum-weighted-subgraph-with-the-required-paths",difficulty:"Hard",lists:["am_600"],frequency:2,tags:["Heap (Priority Queue)","Graph Theory","Shortest Path"]}]},44:{id:"44",name:"Eulerian Circuit",info_path:"",problems:[{id:"332",title:"Reconstruct Itinerary",external_link:"reconstruct-itinerary",animation_path:"reconstruct-itinerary",difficulty:"Hard",lists:["am_600","am_300"],frequency:4,tags:["Array","String","Sorting","Depth-First Search","Heap (Priority Queue)"]},{id:"753",title:"Cracking the Safe",external_link:"cracking-the-safe",animation_path:"cracking-the-safe",difficulty:"Hard",lists:["am_600","am_300"],frequency:2,tags:["String","Depth-First Search","Graph Theory","Eulerian Circuit"]},{id:"2097",title:"Valid Arrangement of Pairs",external_link:"valid-arrangement-of-pairs",animation_path:"valid-arrangement-of-pairs",difficulty:"Hard",lists:["am_600"],frequency:1,tags:["Array","Depth-First Search","Graph Theory","Eulerian Circuit"]}]},45:{id:"45",name:"1-D DP",info_path:"https://www.youtube.com/watch?v=_i4Yxeh5ceQ",problems:[{id:"509",title:"Fibonacci Number",external_link:"fibonacci-number",animation_path:"fibonacci-number",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Math","Dynamic Programming","Recursion","Memoization"]},{id:"70",title:"Climbing Stairs",external_link:"climbing-stairs",animation_path:"climbing-stairs",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:5,tags:["Math","Dynamic Programming","Memoization"]},{id:"746",title:"Min Cost Climbing Stairs",external_link:"min-cost-climbing-stairs",animation_path:"min-cost-climbing-stairs",difficulty:"Easy",lists:["am_600","am_300"],frequency:3,tags:["Array","Dynamic Programming"]},{id:"198",title:"House Robber",external_link:"house-robber",animation_path:"house-robber",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Array","Dynamic Programming"]},{id:"213",title:"House Robber II",external_link:"house-robber-ii",animation_path:"house-robber-ii",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["Array","Dynamic Programming"]},{id:"646",title:"Maximum Length of Pair Chain",external_link:"maximum-length-of-pair-chain",animation_path:"maximum-length-of-pair-chain",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Array","Dynamic Programming","Sorting","Greedy"]},{id:"740",title:"Delete and Earn",external_link:"delete-and-earn",animation_path:"delete-and-earn",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Hash Table","Dynamic Programming"]},{id:"343",title:"Integer Break",external_link:"integer-break",animation_path:"integer-break",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Math","Dynamic Programming"]},{id:"1262",title:"Greatest Sum Divisible by Three",external_link:"greatest-sum-divisible-by-three",animation_path:"greatest-sum-divisible-by-three",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Dynamic Programming","Sorting","Greedy"]},{id:"1411",title:"Number of Ways to Paint N \xd7 3 Grid",external_link:"number-of-ways-to-paint-n-3-grid",animation_path:"number-of-ways-to-paint-n-3-grid",difficulty:"Hard",lists:["am_600"],frequency:5,tags:["Dynamic Programming"]}]},46:{id:"46",name:"0/1 Knapsack",info_path:"https://www.youtube.com/watch?v=cJ21moQpofY",problems:[{id:"416",title:"Partition Equal Subset Sum",external_link:"partition-equal-subset-sum",animation_path:"partition-equal-subset-sum",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Array","Dynamic Programming"]},{id:"494",title:"Target Sum",external_link:"target-sum",animation_path:"target-sum",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["Array","Dynamic Programming","Backtracking"]},{id:"1049",title:"Last Stone Weight II",external_link:"last-stone-weight-ii",animation_path:"last-stone-weight-ii",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Dynamic Programming"]},{id:"474",title:"Ones and Zeroes",external_link:"ones-and-zeroes",animation_path:"ones-and-zeroes",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","String","Dynamic Programming"]},{id:"879",title:"Profitable Schemes",external_link:"profitable-schemes",animation_path:"profitable-schemes",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Dynamic Programming"]}]},47:{id:"47",name:"Unbounded Knapsack",info_path:"https://www.youtube.com/watch?v=OgvOZ6OrJoY",problems:[{id:"322",title:"Coin Change",external_link:"coin-change",animation_path:"coin-change",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Array","Dynamic Programming","Breadth-First Search"]},{id:"518",title:"Coin Change II",external_link:"coin-change-ii",animation_path:"coin-change-ii",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["Array","Dynamic Programming"]},{id:"279",title:"Perfect Squares",external_link:"perfect-squares",animation_path:"perfect-squares",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["Math","Dynamic Programming","Breadth-First Search"]},{id:"983",title:"Minimum Cost For Tickets",external_link:"minimum-cost-for-tickets",animation_path:"minimum-cost-for-tickets",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Dynamic Programming"]}]},48:{id:"48",name:"Longest Increasing Subsequence (LIS)",info_path:"https://www.youtube.com/watch?v=cjWnW0hdF1Y",problems:[{id:"300",title:"Longest Increasing Subsequence",external_link:"longest-increasing-subsequence",animation_path:"longest-increasing-subsequence",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Array","Dynamic Programming","Binary Search"]},{id:"673",title:"Number of Longest Increasing Subsequence",external_link:"number-of-longest-increasing-subsequence",animation_path:"number-of-longest-increasing-subsequence",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Array","Dynamic Programming","Segment Tree","Binary Indexed Tree"]},{id:"1048",title:"Longest String Chain",external_link:"longest-string-chain",animation_path:"longest-string-chain",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","String","Hash Table","Dynamic Programming","Sorting"]},{id:"1027",title:"Longest Arithmetic Subsequence",external_link:"longest-arithmetic-subsequence",animation_path:"longest-arithmetic-subsequence",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Hash Table","Dynamic Programming","Binary Search"]},{id:"354",title:"Russian Doll Envelopes",external_link:"russian-doll-envelopes",animation_path:"russian-doll-envelopes",difficulty:"Hard",lists:["am_600","am_300","am_150"],frequency:4,tags:["Array","Dynamic Programming","Sorting","Binary Search"]}]},49:{id:"49",name:"2D Grid DP",info_path:"https://www.youtube.com/watch?v=qMky6D6YtXU",problems:[{id:"118",title:"Pascal's Triangle",external_link:"pascals-triangle",animation_path:"pascals-triangle",difficulty:"Easy",lists:["am_600"],frequency:5,tags:["Array","Dynamic Programming"]},{id:"62",title:"Unique Paths",external_link:"unique-paths",animation_path:"unique-paths",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Math","Dynamic Programming","Comb
1inatorics"]},{id:"63",title:"Unique Paths II",external_link:"unique-paths-ii",animation_path:"unique-paths-ii",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["Array","Dynamic Programming","Matrix"]},{id:"64",title:"Minimum Path Sum",external_link:"minimum-path-sum",animation_path:"minimum-path-sum",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["Array","Dynamic Programming","Matrix"]},{id:"120",title:"Triangle",external_link:"triangle",animation_path:"triangle",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Dynamic Programming"]},{id:"221",title:"Maximal Square",external_link:"maximal-square",animation_path:"maximal-square",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Dynamic Programming","Matrix"]},{id:"1277",title:"Count Square Submatrices with All Ones",external_link:"count-square-submatrices-with-all-ones",animation_path:"count-square-submatrices-with-all-ones",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["Array","Dynamic Programming","Matrix"]},{id:"1937",title:"Maximum Number of Points with Cost",external_link:"maximum-number-of-points-with-cost",animation_path:"maximum-number-of-points-with-cost",difficulty:"Medium",lists:["am_600","am_300"],frequency:1,tags:["Array","Dynamic Programming","Matrix"]},{id:"256",title:"Paint House",external_link:"paint-house",animation_path:"paint-house",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Dynamic Programming"]},{id:"931",title:"Minimum Falling Path Sum",external_link:"minimum-falling-path-sum",animation_path:"minimum-falling-path-sum",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Dynamic Programming","Matrix"]},{id:"1235",title:"Maximum Profit in Job Scheduling",external_link:"maximum-profit-in-job-scheduling",animation_path:"maximum-profit-in-job-scheduling",difficulty:"Hard",lists:["am_600","am_300"],frequency:4,tags:["Array","Dynamic Programming","Sorting","Binary Search"]},{id:"312",title:"Burst Balloons",external_link:"burst-balloons",animation_path:"burst-balloons",difficulty:"Hard",lists:["am_600","am_300"],frequency:4,tags:["Array","Dynamic Programming"]},{id:"546",title:"Remove Boxes",external_link:"remove-boxes",animation_path:"remove-boxes",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["Array","Dynamic Programming","Memoization"]},{id:"85",title:"Maximal Rectangle",external_link:"maximal-rectangle",animation_path:"maximal-rectangle",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["Array","Dynamic Programming","Matrix","Stack","Monotonic Stack"]},{id:"741",title:"Cherry Pickup",external_link:"cherry-pickup",animation_path:"cherry-pickup",difficulty:"Hard",lists:["am_600","am_300"],frequency:3,tags:["Array","Dynamic Programming","Matrix"]},{id:"174",title:"Dungeon Game",external_link:"dungeon-game",animation_path:"dungeon-game",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Dynamic Programming","Matrix"]},{id:"329",title:"Longest Increasing Path in a Matrix",external_link:"longest-increasing-path-in-a-matrix",animation_path:"longest-increasing-path-in-a-matrix",difficulty:"Hard",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Array","Dynamic Programming","Depth-First Search","Matrix","Breadth-First Search"]},{id:"1931",title:"Painting a Grid With Three Different Colors",external_link:"painting-a-grid-with-three-different-colors",animation_path:"painting-a-grid-with-three-different-colors",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["Dynamic Programming"]},{id:"3651",title:"Minimum Cost Path with Teleportations",external_link:"minimum-cost-path-with-teleportations",animation_path:"minimum-cost-path-with-teleportations",difficulty:"Hard",lists:["am_600"],frequency:5,tags:["Array","Dynamic Programming","Matrix"]},{id:"403",title:"Frog Jump",external_link:"frog-jump",animation_path:"frog-jump",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Dynamic Programming"]},{id:"465",title:"Optimal Account Balancing",external_link:"optimal-account-balancing",animation_path:"optimal-account-balancing",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["Array","Dynamic Programming","Bit Manipulation","Backtracking","Bitmask"]},{id:"1335",title:"Minimum Difficulty of a Job Schedule",external_link:"minimum-difficulty-of-a-job-schedule",animation_path:"minimum-difficulty-of-a-job-schedule",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["Array","Dynamic Programming"]},{id:"1547",title:"Minimum Cost to Cut a Stick",external_link:"minimum-cost-to-cut-a-stick",animation_path:"minimum-cost-to-cut-a-stick",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Dynamic Programming","Sorting"]}]},50:{id:"50",name:"String DP",info_path:"",problems:[{id:"1143",title:"Longest Common Subsequence",external_link:"longest-common-subsequence",animation_path:"longest-common-subsequence",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["String","Dynamic Programming"]},{id:"516",title:"Longest Palindromic Subsequence",external_link:"longest-palindromic-subsequence",animation_path:"longest-palindromic-subsequence",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["String","Dynamic Programming"]},{id:"72",title:"Edit Distance",external_link:"edit-distance",animation_path:"edit-distance",difficulty:"Medium",lists:["am_600","am_300"],frequency:4,tags:["String","Dynamic Programming"]},{id:"91",title:"Decode Ways",external_link:"decode-ways",animation_path:"decode-ways",difficulty:"Medium",lists:["am_600","am_300","am_150"],frequency:3,tags:["String","Dynamic Programming"]},{id:"139",title:"Word Break",external_link:"word-break",animation_path:"word-break",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:4,tags:["Array","String","Hash Table","Dynamic Programming","Trie"]},{id:"97",title:"Interleaving String",external_link:"interleaving-string",animation_path:"interleaving-string",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["String","Dynamic Programming"]},{id:"1653",title:"Minimum Deletions to Make String Balanced",external_link:"minimum-deletions-to-make-string-balanced",animation_path:"minimum-deletions-to-make-string-balanced",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["String","Dynamic Programming","Stack"]},{id:"140",title:"Word Break II",external_link:"word-break-ii",animation_path:"word-break-ii",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["Array","String","Hash Table","Dynamic Programming","Backtracking"]},{id:"44",title:"Wildcard Matching",external_link:"wildcard-matching",animation_path:"wildcard-matching",difficulty:"Hard",lists:["am_600","am_300"],frequency:4,tags:["String","Dynamic Programming","Greedy","Recursion"]},{id:"10",title:"Regular Expression Matching",external_link:"regular-expression-matching",animation_path:"regular-expression-matching",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["String","Dynamic Programming","Recursion"]},{id:"115",title:"Distinct Subsequences",external_link:"distinct-subsequences",animation_path:"distinct-subsequences",difficulty:"Hard",lists:["am_600","am_300"],frequency:3,tags:["String","Dynamic Programming"]},{id:"132",title:"Palindrome Partitioning II",external_link:"palindrome-partitioning-ii",animation_path:"palindrome-partitioning-ii",difficulty:"Hard",lists:["am_600","am_300"],frequency:3,tags:["String","Dynamic Programming"]},{id:"664",title:"Strange Printer",external_link:"strange-printer",animation_path:"strange-printer",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["String","Dynamic Programming"]},{id:"1092",title:"Shortest Common Supersequence",external_link:"shortest-common-supersequence",animation_path:"shortest-common-supersequence",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["String","Dynamic Programming"]}]},51:{id:"51",name:"Tree / Graph DP",info_path:"",problems:[{id:"337",title:"House Robber III",external_link:"house-robber-iii",difficulty:"Medium",lists:["am_600","am_300","am_150"],animation_path:"house-robber-iii",frequency:3,tags:["Dynamic Programming","Depth-First Search","Tree","Binary Tree"]},{id:"95",title:"Unique Binary Search Trees II",external_link:"unique-binary-search-trees-ii",difficulty:"Medium",lists:["am_600","am_300","am_150"],animation_path:"unique-binary-search-trees-ii",frequency:3,tags:["Dynamic Programming","Tree","Binary Tree","Backtracking","Binary Search Tree"]},{id:"1976",title:"Number of Ways to Arrive at Destination",external_link:"number-of-ways-to-arrive-at-destination",difficulty:"Medium",lists:["am_600","am_300"],animation_path:"number-of-ways-to-arrive-at-destination",frequency:2,tags:["Dynamic Programming","Graph Theory","Topological Sort","Shortest Path"]},{id:"968",title:"Binary Tree Cameras",external_link:"binary-tree-cameras",difficulty:"Hard",lists:["am_600","am_300","am_150"],animation_path:"binary-tree-cameras",frequency:4,tags:["Dynamic Programming","Depth-First Search","Tree","Binary Tree"]},{id:"834",title:"Sum of Distances in Tree",external_link:"sum-of-distances-in-tree",difficulty:"Hard",lists:["am_600","am_300"],animation_path:"sum-of-distances-in-tree",frequency:2,tags:["Dynamic Programming","Depth-First Search","Tree","Graph Theory"]}]},52:{id:"52",name:"Bitmask DP",info_path:"https://www.hackerearth.com/practice/algorithms/dynamic-programming/bit-masking/tutorial/",problems:[{id:"1066",title:"Campus Bikes II",external_link:"campus-bikes-ii",difficulty:"Medium",lists:["am_600"],animation_path:"campus-bikes-ii",frequency:1,tags:["Array","Dynamic Programming","Bit Manipulation","Backtracking","Bitmask"]},{id:"698",title:"Partition to K Equal Sum Subsets",external_link:"partition-to-k-equal-sum-subsets",difficulty:"Medium",lists:["am_600"],animation_path:"partition-to-k-equal-sum-subsets",frequency:3,tags:["Array","Dynamic Programming","Bit Manipulation","Backtracking","Bitmask"]},{id:"1986",title:"Minimum Number of Work Sessions to Finish the Tasks",external_link:"minimum-number-of-work-sessions-to-finish-the-tasks",difficulty:"Medium",lists:["am_600","am_300"],animation_path:"minimum-number-of-work-sessions-to-finish-the-tasks",frequency:2,tags:["Array","Dynamic Programming","Bit Manipulation","Backtracking","Bitmask"]},{id:"2305",title:"Fair Distribution of Cookies",external_link:"fair-distribution-of-cookies",difficulty:"Medium",lists:["am_600","am_300","am_150"],animation_path:"fair-distribution-of-cookies",frequency:1,tags:["Array","Dynamic Programming","Bit Manipulation","Backtracking","Bitmask"]},{id:"847",title:"Shortest Path Visiting All Nodes",external_link:"shortest-path-visiting-all-nodes",difficulty:"Hard",lists:["am_600","am_300","am_150"],animation_path:"shortest-path-visiting-all-nodes",frequency:2,tags:["Dynamic Programming","Bit Manipulation","Breadth-First Search","Graph Theory","Bitmask"]}]},53:{id:"53",name:"Digit DP",info_path:"https://www.youtube.com/watch?v=heUFId6Qd1A",problems:[{id:"357",title:"Count Numbers with Unique Digits",external_link:"count-numbers-with-unique-digits",animation_path:"count-numbers-with-unique-digits",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Math","Dynamic Programming","Backtracking"]},{id:"233",title:"Number of Digit One",external_link:"number-of-digit-one",animation_path:"number-of-digit-one",difficulty:"Hard",lists:["am_600","am_300"],frequency:3,tags:["Math","Dynamic Programming","Recursion"]},{id:"902",title:"Numbers At Most N Given Digit Set",external_link:"numbers-at-most-n-given-digit-set",animation_path:"numbers-at-most-n-given-digit-set",difficulty:"Hard",lists:["am_600","am_300"],frequency:2,tags:["Array","String","Math","Dynamic Programming","Binary Search"]}]},54:{id:"54",name:"Probability DP",info_path:"",problems:[{id:"688",title:"Knight Probability in Chessboard",external_link:"knight-probability-in-chessboard",animation_path:"knight-probability-in-chessboard",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Dynamic Programming"]},{id:"808",title:"Soup Servings",external_link:"soup-servings",animation_path:"soup-servings",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Math","Dynamic Programming","Probability and Statistics"]},{id:"837",title:"New 21 Game",external_link:"new-21-game",animation_path:"new-21-game",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Math","Dynamic Programming","Sliding Window","Probability and Statistics"]}]},55:{id:"55",name:"State Machine DP",info_path:"",problems:[{id:"309",title:"Best Time to Buy and Sell Stock with Cooldown",external_link:"best-time-to-buy-and-sell-stock-with-cooldown",animation_path:"best-time-to-buy-and-sell-stock-with-cooldown",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Array","Dynamic Programming"]},{id:"714",title:"Best Time to Buy and Sell Stock with Transaction Fee",external_link:"best-time-to-buy-and-sell-stock-with-transaction-fee",animation_path:"best-time-to-buy-and-sell-stock-with-transaction-fee",difficulty:"Medium",lists:["am_600"],frequency:2,tags:["Array","Dynamic Programming","Greedy"]},{id:"123",title:"Best Time to Buy and Sell Stock III",external_link:"best-time-to-buy-and-sell-stock-iii",animation_path:"best-time-to-buy-and-sell-stock-iii",difficulty:"Hard",lists:["am_600","am_300","am_150"],frequency:3,tags:["Array","Dynamic Programming"]},{id:"188",title:"Best Time to Buy and Sell Stock IV",external_link:"best-time-to-buy-and-sell-stock-iv",animation_path:"best-time-to-buy-and-sell-stock-iv",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Dynamic Programming"]}]},56:{id:"56",name:"Maths / Geometry",info_path:"",problems:[{id:"9",title:"Palindrome Number",external_link:"palindrome-number",animation_path:"palindrome-number",difficulty:"Easy",lists:["am_600","am_300","am_150"],frequency:5,tags:["Math"]},{id:"66",title:"Plus One",external_link:"plus-one",animation_path:"plus-one",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["Array","Math"]},{id:"13",title:"Roman to Integer",external_link:"roman-to-integer",animation_path:"roman-to-integer",difficulty:"Easy",lists:["am_600"],frequency:5,tags:["String","Hash Table","Math"]},{id:"168",title:"Excel Sheet Column Title",external_link:"excel-sheet-column-title",animation_path:"excel-sheet-column-title",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["String","Math"]},{id:"1071",title:"Greatest Common Divisor of Strings",external_link:"greatest-common-divisor-of-strings",animation_path:"greatest-common-divisor-of-strings",difficulty:"Easy",lists:["am_600"],frequency:4,tags:["String","Math"]},{id:"263",title:"Ugly Number",external_link:"ugly-number",animation_path:"ugly-number",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["Math"]},{id:"264",title:"Ugly Number II",external_link:"ugly-number-ii",animation_path:"ugly-number-ii",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Hash Table","Math","Dynamic Programming","Heap (Priority Queue)"]},{id:"7",title:"Reverse Integer",external_link:"reverse-integer",animation_path:"reverse-integer",difficulty:"Medium",lists:["am_600","am_300","am_150","am_75"],frequency:5,tags:["Math"]},{id:"43",title:"Multiply Strings",external_link:"multiply-strings",animation_path:"multiply-strings",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["String","Math","Simulation"]},{id:"287",title:"Find the Duplicate Number",external_link:"find-the-duplicate-number",animation_path:"find-the-duplicate-number",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Binary Search","Bit Manipulation","Two Pointers"]},{id:"1922",title:"Count Good Numbers",external_link:"count-good-numbers",animation_path:"count-good-numbers",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Math","Recursion"]},{id:"204",title:"Count Primes",external_link:"count-primes",animation_path:"count-primes",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Math","Enumeration","Number Theory"]},{id:"172",title:"Factorial Trailing Zeroes",external_link:"factorial
1-trailing-zeroes",animation_path:"factorial-trailing-zeroes",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["Math"]},{id:"611",title:"Valid Triangle Number",external_link:"valid-triangle-number",animation_path:"valid-triangle-number",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Sorting","Greedy","Binary Search","Two Pointers"]},{id:"593",title:"Valid Square",external_link:"valid-square",animation_path:"valid-square",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Math","Geometry"]},{id:"939",title:"Minimum Area Rectangle",external_link:"minimum-area-rectangle",animation_path:"minimum-area-rectangle",difficulty:"Medium",lists:["am_600"],frequency:3,tags:["Array","Hash Table","Math","Sorting","Geometry"]},{id:"963",title:"Minimum Area Rectangle II",external_link:"minimum-area-rectangle-ii",animation_path:"minimum-area-rectangle-ii",difficulty:"Medium",lists:["am_600","am_300"],frequency:1,tags:["Array","Hash Table","Math","Geometry"]},{id:"149",title:"Max Points on a Line",external_link:"max-points-on-a-line",animation_path:"max-points-on-a-line",difficulty:"Hard",lists:["am_600","am_300","am_150","am_75"],frequency:3,tags:["Array","Hash Table","Math","Geometry"]}]},57:{id:"57",name:"String Matching",info_path:"https://www.youtube.com/watch?v=V5-7GzOfADQ",problems:[{id:"459",title:"Repeated Substring Pattern",external_link:"repeated-substring-pattern",animation_path:"repeated-substring-pattern",difficulty:"Easy",lists:["am_600"],frequency:3,tags:["String","String Matching"]},{id:"686",title:"Repeated String Match",external_link:"repeated-string-match",animation_path:"repeated-string-match",difficulty:"Medium",lists:["am_600","am_300"],frequency:3,tags:["String","String Matching"]},{id:"1698",title:"Number of Distinct Substrings in a String",external_link:"number-of-distinct-substrings-in-a-string",animation_path:"number-of-distinct-substrings-in-a-string",difficulty:"Medium",lists:["am_600"],frequency:1,tags:["String","Trie","Hash Function","Rolling Hash","Suffix Array"]},{id:"1392",title:"Longest Happy Prefix",external_link:"longest-happy-prefix",animation_path:"longest-happy-prefix",difficulty:"Hard",lists:["am_600"],frequency:2,tags:["String","Hash Function","String Matching","Rolling Hash"]},{id:"214",title:"Shortest Palindrome",external_link:"shortest-palindrome",animation_path:"shortest-palindrome",difficulty:"Hard",lists:["am_600","am_300"],frequency:4,tags:["String","Hash Function","String Matching","Rolling Hash"]},{id:"1044",title:"Longest Duplicate Substring",external_link:"longest-duplicate-substring",animation_path:"longest-duplicate-substring",difficulty:"Hard",lists:["am_600","am_300"],frequency:4,tags:["String","Binary Search","Sliding Window","Hash Function","Rolling Hash"]}]},58:{id:"58",name:"Binary Indexed Tree / Segment Tree",info_path:"",problems:[{id:"307",title:"Range Sum Query - Mutable",external_link:"range-sum-query-mutable",animation_path:"range-sum-query-mutable",difficulty:"Medium",lists:["am_600","am_300"],frequency:2,tags:["Array","Design","Segment Tree","Divide and Conquer","Binary Indexed Tree"]},{id:"308",title:"Range Sum Query 2D - Mutable",external_link:"range-sum-query-2d-mutable",animation_path:"range-sum-query-2d-mutable",difficulty:"Medium",lists:["am_600"],frequency:4,tags:["Array","Matrix","Design","Segment Tree","Binary Indexed Tree"]},{id:"315",title:"Count of Smaller Numbers After Self",external_link:"count-of-smaller-numbers-after-self",animation_path:"count-of-smaller-numbers-after-self",difficulty:"Hard",lists:["am_600","am_300"],frequency:4,tags:["Array","Binary Search","Ordered Set","Segment Tree","Divide and Conquer"]},{id:"699",title:"Falling Squares",external_link:"falling-squares",animation_path:"falling-squares",difficulty:"Hard",lists:["am_600"],frequency:2,tags:["Array","Ordered Set","Segment Tree"]},{id:"3161",title:"Block Placement Queries",external_link:"block-placement-queries",animation_path:"block-placement-queries",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Binary Search","Segment Tree","Binary Indexed Tree"]}
1,{id:"3721",title:"Longest Balanced Subarray II",external_link:"longest-balanced-subarray-ii",animation_path:"longest-balanced-subarray-ii",difficulty:"Hard",lists:["am_600"],frequency:5,tags:["Array","Hash Table","Prefix Sum","Segment Tree","Divide and Conquer"]},{id:"2426",title:"Number of Pairs Satisfying Inequality",external_link:"number-of-pairs-satisfying-inequality",animation_path:"number-of-pairs-satisfying-inequality",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Binary Search","Ordered Set","Segment Tree","Divide and Conquer"]}]},59:{id:"59",name:"Line Sweep",info_path:"https://leetcode.com/discuss/study-guide/2166045/Line-Sweep-Algorithms",problems:[{id:"759",title:"Employee Free Time",external_link:"employee-free-time",animation_path:"employee-free-time",difficulty:"Hard",lists:["am_600"],frequency:4,tags:["Array","Sorting","Heap (Priority Queue)","Sweep Line"]},{id:"1851",title:"Minimum Interval to Include Each Query",external_link:"minimum-interval-to-include-each-query",animation_path:"minimum-interval-to-include-each-query",difficulty:"Hard",lists:["am_600","am_300"],frequency:2,tags:["Array","Sorting","Binary Search","Heap (Priority Queue)","Sweep Line"]},{id:"218",title:"The Skyline Problem",external_link:"the-skyline-problem",animation_path:"the-skyline-problem",difficulty:"Hard",lists:["am_600","am_300"],frequency:4,tags:["Array","Sorting","Heap (Priority Queue)","Ordered Set","Segment Tree"]},{id:"850",title:"Rectangle Area II",external_link:"rectangle-area-ii",animation_path:"rectangle-area-ii",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Ordered Set","Segment Tree","Sweep Line"]},{id:"391",title:"Perfect Rectangle",external_link:"perfect-rectangle",animation_path:"perfect-rectangle",difficulty:"Hard",lists:["am_600"],frequency:3,tags:["Array","Hash Table","Math","Geometry","Sweep Line"]}]}}},890501:(i,e,t)=>{t.d(e,{b:()=>n,o:()=>a});let a={easy:"text-emerald-600 dark:text-emerald-400",medium:"text-amber-600 dark:text-amber-400",hard:"text-red-600 dark:text-red-400"}
1,n={high:"text-rose-600 dark:text-rose-400",medium:"text-amber-600 dark:text-amber-400",low:"text-sky-600 dark:text-sky-400"}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.