{"blurb":"Core and every Recommended problem. Optional problems are never scheduled in any plan, but stay one click away.","daily":"About 14 new problems a week, 5 days a week. Each weekday: the day's new problems in try-first mode, 1 re-solve from your shaky list, and 10 minutes of flashcards. Each weekend: a timed set of 2 mock interviews on problems you haven't seen in a week. The last two weeks are mixed mocks only, because real interviews don't tell you the pattern.","length":20,"name":"The full route","weeks":[{"focus":"Arrays","goal":"Every technique in the guide by heart; mock 3 Mediums","mixed":false,"problems":["remove-element","remove-duplicates-from-sorted-array","plus-one","two-sum","best-time-to-buy-and-sell-stock","contains-duplicate","merge-sorted-array","next-permutation","pascals-triangle","intersection-of-two-arrays-ii","maximum-subarray","product-of-array-except-self","insert-interval","merge-intervals"],"week":1},{"focus":"Strings + Hash Maps","goal":"Frequency arrays without thinking; Prefix-sum map (560, 525) from memory","mixed":false,"problems":["valid-anagram","longest-common-prefix","encode-and-decode-strings","first-unique-character-in-a-string","custom-sort-string","find-the-index-of-the-first-occurrence-in-a-string","reverse-words-in-a-string","string-to-integer-atoi","integer-to-english-words","contains-duplicate-ii","dot-product-of-two-sparse-vectors","isomorphic-strings","group-anagrams","top-k-frequent-elements"],"week":2},{"focus":"Hash Maps (continued) + Two Pointers","goal":"Prefix-sum map (560, 525) from memory; All three shapes; 3Sum in under 20 min","mixed":false,"problems":["valid-sudoku","longest-consecutive-sequence","subarray-sum-equals-k","contiguous-array","4sum-ii","valid-palindrome","valid-palindrome-ii","move-zeroes","squares-of-a-sorted-array","two-sum-ii-input-array-is-sorted","container-with-most-water","3sum","4sum","sort-colors","trapping-rain-water"],"week":3},{"focus":"Sliding Window","goal":"Fixed vs variable window template; 76 under 35 min","mixed":false,"problems":["maximum-average-subarray-i","permutation-in-string","find-all-anagrams-in-a-string","max-consecutive-ones-iii","longest-substring-without-repeating-characters","longest-repeating-character-replacement","fruit-into-baskets","longest-substring-with-at-most-k-distinct-characters","maximum-points-you-can-obtain-from-cards","minimum-size-subarray-sum","sliding-window-maximum","minimum-window-substring"],"week":4},{"focus":"Fast \u0026 Slow Pointers + Linked Lists","goal":"Floyd's proof out loud; Dummy node + reversal on autopilot","mixed":false,"problems":["linked-list-cycle","middle-of-the-linked-list","palindrome-linked-list","happy-number","linked-list-cycle-ii","find-the-duplicate-number","reverse-linked-list","merge-two-sorted-lists","remove-linked-list-elements","intersection-of-two-linked-lists","delete-the-middle-node-of-a-linked-list","remove-nth-node-from-end-of-list","swap-nodes-in-pairs","add-two-numbers"],"week":5},{"focus":"Linked Lists (continued) + Stacks","goal":"Dummy node + reversal on autopilot; Monotonic stack template; 84 explained clearly","mixed":false,"problems":["remove-duplicates-from-sorted-list-ii","odd-even-linked-list","reverse-linked-list-ii","reorder-list","copy-list-with-random-pointer","sort-list","reverse-nodes-in-k-group","merge-k-sorted-lists","valid-parentheses","backspace-string-compare","next-greater-element-i","min-stack","evaluate-reverse-polish-notation","basic-calculator-ii"],"week":6},{"focus":"Stacks (continued)","goal":"Monotonic stack template; 84 explained clearly","mixed":false,"problems":["simplify-path","daily-temperatures","car-fleet","next-greater-element-ii","asteroid-collision","decode-string","minimum-remove-to-make-valid-parentheses","online-stock-span","buildings-with-an-ocean-view","sum-of-subarray-minimums","largest-rectangle-in-histogram","maximal-rectangle"],"week":7},{"focus":"Binary Search","goal":"One boundary template for every variant, then search on the answer","mixed":false,"problems":["binary-search","first-bad-version","search-insert-position","sqrtx","search-a-2d-matrix","find-first-and-last-position-of-element-in-sorted-array","search-in-rotated-sorted-array","find-minimum-in-rotated-sorted-array","find-peak-element","time-based-key-value-store","koko-eating-bananas","capacity-to-ship-packages-within-d-days","successful-pairs-of-spells-and-potions","find-k-closest-elements","random-pick-with-weight","median-of-two-sorted-arrays","split-array-largest-sum"],"week":8},{"focus":"Trees","goal":"Recursion contract: what does the call return?","mixed":false,"problems":["maximum-depth-of-binary-tree","minimum-depth-of-binary-tree","invert-binary-tree","same-tree","symmetric-tree","path-sum","diameter-of-binary-tree","balanced-binary-tree","subtree-of-another-tree","range-sum-of-bst","binary-tree-level-order-traversal","binary-tree-right-side-view"],"week":9},{"focus":"Trees (continued)","goal":"Recursion contract: what does the call return?","mixed":false,"problems":["binary-tree-zigzag-level-order-traversal","binary-tree-vertical-order-traversal","count-good-nodes-in-binary-tree","sum-root-to-leaf-numbers","all-nodes-distance-k-in-binary-tree","kth-smallest-element-in-a-bst","validate-binary-search-tree","lowest-common-ancestor-of-a-binary-search-tree","lowest-common-ancestor-of-a-binary-tree","lowest-common-ancestor-of-a-binary-tree-iii","construct-binary-tree-from-preorder-and-inorder-traversal","binary-tree-maximum-path-sum","serialize-and-deserialize-binary-tree"],"week":10},{"focus":"Tries + Heap / Priority Queue","goal":"A trie node from memory; prune the trie in Word Search II; Two-heap median from memory","mixed":false,"problems":["implement-trie-prefix-tree","design-add-and-search-words-data-structure","search-suggestions-system","word-search-ii","last-stone-weight","kth-largest-element-in-a-stream","k-closest-points-to-origin","kth-largest-element-in-an-array","top-k-frequent-words","task-scheduler","reorganize-string","design-twitter","find-median-from-data-stream"],"week":11},{"focus":"Backtracking + Graphs","goal":"Choose / recurse / un-choose template; Grid DFS, multi-source BFS, Kahn, union-find and Dijkstra from memory","mixed":false,"problems":["subsets","combination-sum","permutations","subsets-ii","combination-sum-ii","word-search","palindrome-partitioning","letter-combinations-of-a-phone-number","generate-parentheses","n-queens","number-of-islands","max-area-of-island","surrounded-regions","rotting-oranges","walls-and-gates"],"week":12},{"focus":"Graphs (continued)","goal":"Grid DFS, multi-source BFS, Kahn, union-find and Dijkstra from memory","mixed":false,"problems":["pacific-atlantic-water-flow","detonate-the-maximum-bombs","clone-graph","course-schedule","course-schedule-ii","graph-valid-tree","number-of-connected-components-in-an-undirected-graph","number-of-provinces","redundant-connection","accounts-merge","network-delay-time","cheapest-flights-within-k-stops","shortest-path-in-binary-matrix","minimum-knight-moves","word-ladder","alien-dictionary"],"week":13},{"focus":"Dynamic Programming 1D","goal":"State, recurrence, base case, order: said out loud","mixed":false,"problems":["climbing-stairs","min-cost-climbing-stairs","house-robber","house-robber-ii","decode-ways","coin-change","combination-sum-iv","word-break","longest-increasing-subsequence","partition-equal-subset-sum","longest-palindromic-substring","palindromic-substrings","maximum-product-subarray"],"week":14},{"focus":"Dynamic Programming 2D","goal":"Table drawing for LCS and edit distance","mixed":false,"problems":["unique-paths","unique-paths-ii","longest-common-subsequence","edit-distance","best-time-to-buy-and-sell-stock-with-cooldown","coin-change-ii","target-sum","interleaving-string","longest-increasing-path-in-a-matrix","distinct-subsequences","burst-balloons","regular-expression-matching"],"week":15},{"focus":"Intervals + Bit Manipulation","goal":"Sort-by-end greedy and the sweep line; XOR tricks and n \u0026 (n − 1)","mixed":false,"problems":["meeting-rooms","interval-list-intersections","non-overlapping-intervals","meeting-rooms-ii","minimum-interval-to-include-each-query","single-number","number-of-1-bits","counting-bits","missing-number","reverse-bits","sum-of-two-integers","reverse-integer"],"week":16},{"focus":"Greedy + Matrix \u0026 Math","goal":"Say the exchange argument for every greedy move before coding it; Write the index map first; rotate, spiral and zero a matrix without notes","mixed":false,"problems":["maximum-units-on-a-truck","jump-game","jump-game-ii","gas-station","partition-labels","minimum-number-of-arrows-to-burst-balloons","hand-of-straights","merge-triplets-to-form-target-triplet","valid-parenthesis-string","rotate-image","spiral-matrix","set-matrix-zeroes","game-of-life","powx-n","multiply-strings","detect-squares","robot-bounded-in-circle"],"week":17},{"focus":"Data-Structure Design + Advanced Graphs","goal":"LRU Cache from memory with a doubly linked list; say each method's budget; Dijkstra with a custom cost, Prim and Kruskal, and when each fits","mixed":false,"problems":["moving-average-from-data-stream","logger-rate-limiter","lru-cache","insert-delete-getrandom-o1","snapshot-array","design-hit-counter","stock-price-fluctuation","path-with-minimum-effort","swim-in-rising-water","min-cost-to-connect-all-points","evaluate-division","bus-routes","reconstruct-itinerary"],"week":18},{"focus":"Mixed mocks","goal":"Unlabeled problems, FAANG timer, talk the whole time","mixed":true,"problems":[],"week":19},{"focus":"Mixed mocks + weak spots","goal":"Re-solve every shaky problem cleanly","mixed":true,"problems":[],"week":20}]}