Files
leetcode/apps/docs/content/todo.md
T

16 KiB

hidden
hidden
true

todo — draining the review backlog

every solution in work/1 owes a blind re-solve at work/3 and a second one at work/7. both buckets are empty, so 36 problems owe 72 re-solves and not one has been started. snapshot: reviewqueues("2026-08-31") from apps/cli/work.ts — what bun run pick shows — cross-checked against /api/stats.

at 10 problems a day including the campaign's own load, 72 re-solves do not fit in one week: this week absorbs 38, the +3 rung finishes sat sep 5 (campaign day 20), the last +7 clears fri sep 18 (day 33), and normal srs resumes sat sep 19 — see when standard srs resumes. saturday gates are deliberately left out of the count.

rules this plan follows

  • ≤ 10 problems a day, everything counted. each day's new core set and the on-time reviews it earns are booked first; the backlog takes what is left — 7 slots on a light day, 2 on a heavy one.
  • coverage before depth. all 36 +3 re-solves come first — one blind pass over everything — before any problem gets its +7.
  • oldest first. lc 387 and lc 1365 have been sitting 50 days.
  • ≥ 3 days between a problem's own +3 and +7. two re-solves in one day test nothing.
  • sunday is not a slot. workingday() never mints one; neither does this list.
  • re-solve blind, then push. bun run pick (tab cycles to the 3-day and 7-day sections) scaffolds straight into work/3/work/7. do not open work/1 first. pushing the file is the log: close-solved.yml posts the bucket to /admin/solved and d1 moves the problem up the ladder.

this week

mon aug 31 — 3 new + 7 backlog = 10/10

topic 08 — linked list (#10, closed today)

bucket problem difficulty where why
work/1 lc 21 · merge two sorted lists easy linked list done today
work/1 lc 206 · reverse linked list easy linked list done today
work/1 lc 141 · linked list cycle easy hash table done today
work/3 lc 387 · first unique character in a string easy hash table 50d stale — first solved 2026-07-12
work/3 lc 1365 · how many numbers are smaller than the current number easy array 50d stale — first solved 2026-07-12
work/3 lc 268 · missing number easy array 14d stale — first solved 2026-08-17
work/3 lc 344 · reverse string easy two pointers 14d stale — first solved 2026-08-17
work/3 lc 1426 · counting elements easy array 14d stale — first solved 2026-08-17
work/3 lc 1832 · check if the sentence is pangram easy hash table 14d stale — first solved 2026-08-17
work/3 lc 15 · 3sum medium array 13d stale — first solved 2026-08-18

tue sep 1 — 2 new + 8 backlog = 10/10

topic 09 — hybrid structures (#11)

bucket problem difficulty where why
work/1 lc 146 · lru cache medium topic 09 — hybrid structures new core problem
work/1 lc 2 · add two numbers medium topic 09 — hybrid structures new core problem
work/3 lc 49 · group anagrams medium array 13d stale — first solved 2026-08-18
work/3 lc 125 · valid palindrome easy two pointers 13d stale — first solved 2026-08-18
work/3 lc 167 · two sum ii - input array is sorted medium array 13d stale — first solved 2026-08-18
work/3 lc 217 · contains duplicate easy array 13d stale — first solved 2026-08-18
work/3 lc 238 · product of array except self medium array 13d stale — first solved 2026-08-18
work/3 lc 242 · valid anagram easy hash table 13d stale — first solved 2026-08-18
work/3 lc 303 · range sum query - immutable easy array 13d stale — first solved 2026-08-18
work/3 lc 560 · subarray sum equals k medium array 13d stale — first solved 2026-08-18

wed sep 2 — 3 new + 7 backlog = 10/10

topic 10 — matrix index math (#12)

bucket problem difficulty where why
work/1 lc 48 · rotate image medium topic 10 — matrix index math new core problem
work/1 lc 54 · spiral matrix medium topic 10 — matrix index math new core problem
work/1 lc 73 · set matrix zeroes medium topic 10 — matrix index math new core problem
work/3 lc 1413 · minimum value to get positive step by step sum easy array 13d stale — first solved 2026-08-18
work/3 lc 1480 · running sum of 1d array easy array 13d stale — first solved 2026-08-18
work/3 lc 33 · search in rotated sorted array medium array 12d stale — first solved 2026-08-19
work/3 lc 704 · binary search easy array 12d stale — first solved 2026-08-19
work/3 lc 875 · koko eating bananas medium array 12d stale — first solved 2026-08-19
work/3 lc 977 · squares of a sorted array easy array 12d stale — first solved 2026-08-19
work/3 lc 121 · best time to buy and sell stock easy array 11d stale — first solved 2026-08-20

thu sep 3 — 3 new + 3 on-time reviews + 4 backlog = 10/10

topic 11 — tree dfs (#13)

bucket problem difficulty where why
work/1 lc 226 · invert binary tree easy topic 11 — tree dfs new core problem
work/1 lc 104 · maximum depth of binary tree easy topic 11 — tree dfs new core problem
work/1 lc 236 · lowest common ancestor of a binary tree medium topic 11 — tree dfs new core problem
work/3 lc 21 · merge two sorted lists easy linked list on time — solved mon aug 31
work/3 lc 206 · reverse linked list easy linked list on time — solved mon aug 31
work/3 lc 141 · linked list cycle easy hash table on time — solved mon aug 31
work/3 lc 1 · two sum easy array 7d stale — first solved 2026-08-24
work/3 lc 11 · container with most water medium array 7d stale — first solved 2026-08-24
work/3 lc 392 · is subsequence easy two pointers 7d stale — first solved 2026-08-24
work/3 lc 3 · longest substring without repeating characters medium hash table 6d stale — first solved 2026-08-25

fri sep 4 — 3 new + 2 on-time reviews + 5 backlog = 10/10

topic 12 — tree bfs (#14)

bucket problem difficulty where why
work/1 lc 102 · binary tree level order traversal medium topic 12 — tree bfs new core problem
work/1 lc 199 · binary tree right side view medium topic 12 — tree bfs new core problem
work/1 lc 1448 · count good nodes in binary tree medium topic 12 — tree bfs new core problem
work/3 lc 146 · lru cache medium topic 09 — hybrid structures on time — solved tue sep 1
work/3 lc 2 · add two numbers medium topic 09 — hybrid structures on time — solved tue sep 1
work/3 lc 424 · longest repeating character replacement medium hash table 6d stale — first solved 2026-08-25
work/3 lc 567 · permutation in string medium hash table 6d stale — first solved 2026-08-25
work/3 lc 35 · search insert position easy array 5d stale — first solved 2026-08-26
work/3 lc 74 · search a 2d matrix medium array 5d stale — first solved 2026-08-26
work/3 lc 153 · find minimum in rotated sorted array medium array 5d stale — first solved 2026-08-26

sat sep 5 — 3 on-time reviews + 7 backlog = 10/10

no new topic — saturday.

bucket problem difficulty where why
work/3 lc 48 · rotate image medium topic 10 — matrix index math on time — solved wed sep 2
work/3 lc 54 · spiral matrix medium topic 10 — matrix index math on time — solved wed sep 2
work/3 lc 73 · set matrix zeroes medium topic 10 — matrix index math on time — solved wed sep 2
work/3 lc 20 · valid parentheses easy string 4d stale — first solved 2026-08-27
work/3 lc 150 · evaluate reverse polish notation medium array 4d stale — first solved 2026-08-27
work/3 lc 155 · min stack medium stack 4d stale — first solved 2026-08-27
work/3 lc 739 · daily temperatures medium array 3d stale — first solved 2026-08-28
work/3 lc 853 · car fleet medium array 3d stale — first solved 2026-08-28
work/7 lc 387 · first unique character in a string easy hash table +3 was mon aug 31
work/7 lc 1365 · how many numbers are smaller than the current number easy array +3 was mon aug 31

sun sep 6 — rest day

nothing. by design.

carry-over

the 34 re-solves that do not fit this week, at the same cap and the same rules. booked = that day's new core set plus the on-time reviews it owes.

day topic booked backlog re-solves load
mon sep 7 topic 13 — binary search tree 10 none — the day is already full 10/10
tue sep 8 topic 14 — heap / priority queue 7 work/7 — lc 268, lc 344, lc 1426 10/10
wed sep 9 topic 15 — trie 5 work/7 — lc 1832, lc 15, lc 49, lc 125, lc 167 10/10
thu sep 10 topic 16 — graph dfs 9 work/7 — lc 217 10/10
fri sep 11 topic 17 — graph bfs 8 work/7 — lc 238, lc 242 10/10
sat sep 12 none — saturday 2 work/7 — lc 303, lc 560, lc 1413, lc 1480, lc 33, lc 704, lc 875, lc 977 10/10
mon sep 14 topic 18 — topological sort 10 none — the day is already full 10/10
tue sep 15 topic 19 — union-find 5 work/7 — lc 121, lc 1, lc 11, lc 392, lc 3 10/10
wed sep 16 topic 20 — backtracking 5 work/7 — lc 424, lc 567, lc 35, lc 74, lc 153 10/10
thu sep 17 topic 21 — 1-d dynamic programming 8 work/7 — lc 20, lc 150 10/10
fri sep 18 topic 22 — multi-d / grid dp 7 work/7 — lc 155, lc 739, lc 853 10/10

when standard srs resumes

  • sat sep 5 (campaign day 20) — the +3 rung is empty. every one of the 36 has been recalled blind once; nothing is unretrieved any more.
  • fri sep 18 (campaign day 33) — the last backlog +7 lands. work/3 and work/7 hold a file for all 36, so reviewqueues() owes nothing; the 28 that have a d1 row are retired on the ladder, and the 8 listed at the bottom of this file never had one.
  • sat sep 19 onward — standard srs. the only reviews left are the ones the campaign itself minted: solve a problem, its +3 and +7 come back on workingday(solve + 3) and workingday(solve + 7), the digest asks for ≤ review_cap (3) a day, levelreviews() pushes any excess forward, and bun run pick's 3-day and 7-day sections show only what is due. no dated plan needed after this — the digest is the plan.

campaign-native load per working day once the backlog is gone, all of it inside the cap:

day topic new work/3 work/7 load
sat sep 19 review-only 0 3 0 3/10
mon sep 21 topic 23 — greedy 3 5 2 10/10
tue sep 22 topic 24 — intervals 3 1 2 6/10
wed sep 23 review-only 0 0 3 3/10
thu sep 24 review-only 0 3 3 6/10
fri sep 25 review-only 0 3 3 6/10
sat sep 26 review-only 0 0 0 0/10
mon sep 28 review-only 0 0 3 3/10
tue sep 29 review-only 0 0 3 3/10

two things to watch there. mon sep 21 is 10/10 on campaign load alone — topic 23's core set, two +7s, and five of the six +3s that land there (thursday's three slide off sunday onto monday, friday's three land natively, and the sixth is pushed to tuesday exactly as levelreviews() would) — so one slipped day re-opens a backlog. and from wed sep 30 the ladder runs dry: apps/api/data/schedule.json books its last topic tue sep 22, so the review-only weeks that close the campaign are drills, optional sets and the weekly gates, none of which this file counts.

not reviews

three july scaffolds in work/1 are still empty, so they owe no re-solve — they are unsolved problems, and bun run pick still lists them in its new-problem section:

problem difficulty
lc 347 · top k frequent elements medium
lc 451 · sort characters by frequency medium
lc 1636 · sort array by increasing frequency easy

what this plan exposes

  • 8 of the 36 have no problem issue (387, 1365, 268, 344, 1426, 1832, 1413, 1480) — pre-campaign solves. the catalog reconcile never invents rows, so d1 does not know them and no digest can ever surface them. bun run pick is the only thing that will ask for these reviews.
  • /api/stats reports a stage that does not exist: ladder: { new: 128, "+3": 3, "+7": 0, retired: 0, "+2": 30 }. +2 is not in stages (apps/api/src/srs.ts), so 30 rows sit on a pre-0002 rung — which is why the digest queue plateaus at 32 due instead of tracking the tables above. that wants a migration, not a re-solve.