/** * LeetCode topic-tag slug → the campaign landing routes that teach it, in * default preference order. The one answer to "does the campaign cover this * tag", read by two sides that must agree: * * - `components/ProblemBadges.astro` links a covered tag's badge to its * landing page, and every other tag's badge to `/guides/`; * - `apps/cli/sync.ts` creates a placeholder `content/guides/.mdx` for * every tag a problem page carries that is NOT a key here. * * Add a key when a campaign topic starts teaching a tag; its guide page is then * dead weight, delete it by hand. A tag naming two topics (DFS/BFS: tree and * graph; DP: 1-D and grid) lists both; the badge picks per page. */ export const TOPIC_LANDINGS: Record = { "hash-table": ["/hash-table"], "prefix-sum": ["/prefix-sum"], "two-pointers": ["/two-pointers"], "sliding-window": ["/sliding-window"], "binary-search": ["/binary-search"], stack: ["/stack"], "monotonic-stack": ["/monotonic-stack"], "linked-list": ["/linked-list"], matrix: ["/matrix-index-math"], "depth-first-search": ["/tree-dfs", "/graph-dfs"], "breadth-first-search": ["/tree-bfs", "/graph-bfs"], "binary-search-tree": ["/binary-search-tree"], "heap-priority-queue": ["/heap-priority-queue"], trie: ["/trie"], "topological-sort": ["/topological-sort"], "union-find": ["/union-find"], backtracking: ["/backtracking"], "dynamic-programming": ["/1d-dynamic-programming", "/multi-d-grid-dp"], greedy: ["/greedy"], };