diff --git a/dev_docs/i18n_url_routing.md b/dev_docs/i18n_url_routing.md index fe485b64..52c0f5e9 100644 --- a/dev_docs/i18n_url_routing.md +++ b/dev_docs/i18n_url_routing.md @@ -280,6 +280,36 @@ languages: `disallow` 用 wildcard 形式 `/*/admin/` 等匹配两种 locale 前缀。 +### 段化前旧 URL 的 301(`.en` / `.zh` 后缀) + +段化前 locale 是**文件后缀**(`/docs/foo.en`、`/docs/bar.zh`),段化后变成 +**URL 段前缀**(`/en/docs/foo`)。GSC 里还存着上百条 `.en`/`.zh` 旧 URL,是最大 +一类 404。重定向规则放在 **`next.config.mjs` 的 `redirects()`**,不是 `proxy.ts`: + +> `proxy.ts` 的 matcher 排除了 `.*\..*`(任何带点路径都不进中间件),而 `.en`/ +> `.zh` 后缀全带点 → 中间件根本碰不到。`next.config` 的 `redirects()` 跑在路由层, +> 不受该排除影响,是带点旧 URL 唯一能 301 兜住的地方。 + +规则顺序敏感(首匹配命中):`.en`/`.zh` 后缀剥离 + `/index` 剥离排在 IA wildcard +之前;末尾一条 no-locale `/docs/:path*` → `/zh/docs/:path*` 兜底(段化后 canonical +必带 locale 前缀,任何裸 `/docs/...` 都是旧链接)。`:slug(.*)\\.en` 用贪婪捕获吃掉 +含 `/` 的多级路径,结尾 `\.en` 做字面锚定。 + +### 排行榜 / 热榜链接的 canonical URL + +`scripts/generate-leaderboard.mts` 从后端 docId 反查 `.source` 文件路径拼 URL。 +段化后必须产出 `//docs/`,否则排行榜每条链接都 404。`buildCanonicalDocUrl` +做三件事和路由对齐:① 剥 `.en`/`.zh` 后缀并据此选 locale 前缀;② 去 `/index`; +③ leetcode 走特殊处理。 + +**leetcode 的坑**:同一题常有英文版(`1234-xxx.en.md`)+ 中文翻译版 +(`1234. 中文_translated.md` / `[121]中文_translated.md`)。中文文件名经 fumadocs +i18n 解析后的真实 slug **不可预测**——带 `. ` 点空格的会塌缩、带方括号的能独立成 +拼音页,手搓拼音对不齐(`proxy.ts` 的 leetcode slug-map 也踩同样的坑)。而英文文件的 +ASCII slug 一定能解析、且只在 `/en` 渲染(`.en.md`,zh 不回退 en)。所以脚本按**题号** +把任何 leetcode 贡献指向英文版 `/en/docs/.../`(保证 200),无英文兄弟时 +才退回 zh 拼音。改 leetcode 文件命名后,这套靠 `pnpm build` 重新生成。 + ## proxy 流程 每个请求 → `proxy.ts` → diff --git a/generated/leetcode-slug-map.json b/generated/leetcode-slug-map.json index 0c226954..baa2554e 100644 --- a/generated/leetcode-slug-map.json +++ b/generated/leetcode-slug-map.json @@ -1,30 +1,74 @@ { - "1234. 替换子串得到平衡字符串_translated": "1234-ti-huan-zi-chuan-de-dao-ping-heng-zi-fu-chuan-translated", - "142.环形链表II_translated": "142-huan-xing-lian-biao-iitranslated", - "1653. 使字符串平衡的最少删除次数_translated": "1653-shi-zi-fu-chuan-ping-heng-de-zui-shao-shan-chu-ci-shu-translated", - "1664生成平衡数组的方案数_translated": "1664-sheng-cheng-ping-heng-shu-zu-de-fang-an-shu-translated", - "1825求出 MK 平均值_translated": "1825-qiu-chu-mk-ping-jun-zhi-translated", - "1828统计一个圆中点的数目_translated": "1828-tong-ji-yi-ge-yuan-zhong-dian-de-shu-mu-translated", - "2299强密码检验器II_translated": "2299-qiang-mi-ma-jian-yan-qi-iitranslated", - "2309兼具大小写的最好英文字母_translated": "2309-jian-ju-da-xiao-xie-de-zui-hao-ying-wen-zi-mu-translated", - "2335. 装满杯子需要的最短总时长_translated": "2335-zhuang-man-bei-zi-xu-yao-de-zui-duan-zong-shi-chang-translated", - "2341. 数组能形成多少数对_translated": "2341-shu-zu-neng-xing-cheng-duo-shao-shu-dui-translated", - "2639. 查询网格图中每一列的宽度_translated": "2639-cha-xun-wang-ge-tu-zhong-mei-yi-lie-de-kuan-du-translated", - "2679.矩阵中的和_translated": "2679-ju-zhen-zhong-de-he-translated", - "2894. 分类求和并作差": "2894-fen-lei-qiu-he-bing-zuo-cha", - "3072. 将元素分配到两个数组中 II_translated": "3072-jiang-yuan-su-fen-pei-dao-liang-ge-shu-zu-zhong-iitranslated", - "345. 反转字符串中的元音字母_translated": "345-fan-zhuan-zi-fu-chuan-zhong-de-yuan-yin-zi-mu-translated", - "538.把二叉搜索树转换为累加树_translated": "538-ba-er-cha-sou-suo-shu-zhuan-huan-wei-lei-jia-shu-translated", - "6323. 将钱分给最多的儿童_translated": "6323-jiang-qian-fen-gei-zui-duo-de-er-tong-translated", - "76最小覆盖子串_translated": "76-zui-xiao-fu-gai-zi-chuan-translated", - "994.腐烂的橘子_translated": "994-fu-lan-de-ju-zi-translated", - "[121]买卖股票的最佳时期_translated": "121-mai-mai-gu-piao-de-zui-jia-shi-qi-translated", - "[1333]餐厅过滤器_translated": "1333-can-ting-guo-l-qi-translated", - "[146]LRU 缓存_translated": "146lru-huan-cun-translated", - "[213]打家劫舍 II_translated": "213-da-jia-jie-she-iitranslated", - "[2490]回环句_translated": "2490-hui-huan-ju-translated", - "[2562]找出数组的串联值_translated": "2562-zhao-chu-shu-zu-de-chuan-lian-zhi-translated", - "[2582]递枕头_translated": "2582-di-zhen-tou-translated", - "brief_alternate 作业帮忙_translated": "briefalternate-zuo-ye-bang-mang-translated", - "剑指 Offer II 021. 删除链表的倒数第 n 个结点_translated": "jian-zhi-offerii021-shan-chu-lian-biao-de-dao-shu-di-n-ge-jie-dian-translated" + "byName": { + "1234. 替换子串得到平衡字符串_translated": "/en/docs/career/interview-prep/leetcode/1234-replace-substring-for-balanced-string", + "142.环形链表II_translated": "/en/docs/career/interview-prep/leetcode/142-linked-list-cycle-ii", + "1653. 使字符串平衡的最少删除次数_translated": "/en/docs/career/interview-prep/leetcode/1653-minimum-deletions-to-make-string-balanced", + "1664生成平衡数组的方案数_translated": "/en/docs/career/interview-prep/leetcode/1664-ways-to-make-a-fair-array", + "1825求出 MK 平均值_translated": "/en/docs/career/interview-prep/leetcode/1825-mk-average", + "1828统计一个圆中点的数目_translated": "/en/docs/career/interview-prep/leetcode/1828-queries-on-number-of-points-inside-a-circle", + "2299强密码检验器II_translated": "/en/docs/career/interview-prep/leetcode/2299-strong-password-checker-ii", + "2309兼具大小写的最好英文字母_translated": "/en/docs/career/interview-prep/leetcode/2309-greatest-english-letter-in-upper-and-lower-case", + "2335. 装满杯子需要的最短总时长_translated": "/en/docs/career/interview-prep/leetcode/2335-minimum-amount-of-time-to-fill-cups", + "2341. 数组能形成多少数对_translated": "/en/docs/career/interview-prep/leetcode/2341-maximum-number-of-pairs-in-array", + "2639. 查询网格图中每一列的宽度_translated": "/en/docs/career/interview-prep/leetcode/2639-find-column-width-of-grid", + "2679.矩阵中的和_translated": "/en/docs/career/interview-prep/leetcode/2679-sum-in-a-matrix", + "2894. 分类求和并作差": "/en/docs/career/interview-prep/leetcode/2894-divisible-and-non-divisible-sums-difference", + "3072. 将元素分配到两个数组中 II_translated": "/en/docs/career/interview-prep/leetcode/3072-distribute-elements-into-two-arrays-ii", + "345. 反转字符串中的元音字母_translated": "/en/docs/career/interview-prep/leetcode/345-reverse-vowels-of-a-string", + "538.把二叉搜索树转换为累加树_translated": "/en/docs/career/interview-prep/leetcode/538-convert-bst-to-greater-sum-tree", + "6323. 将钱分给最多的儿童_translated": "/en/docs/career/interview-prep/leetcode/6323-distribute-money-to-maximum-children", + "76最小覆盖子串_translated": "/en/docs/career/interview-prep/leetcode/76-minimum-window-substring", + "994.腐烂的橘子_translated": "/en/docs/career/interview-prep/leetcode/994-rotting-oranges", + "[121]买卖股票的最佳时期_translated": "/en/docs/career/interview-prep/leetcode/121-best-time-to-buy-and-sell-stock", + "[1333]餐厅过滤器_translated": "/en/docs/career/interview-prep/leetcode/1333-filter-restaurants-by-vegan-friendly-price-and-distance", + "[146]LRU 缓存_translated": "/en/docs/career/interview-prep/leetcode/146-lru-cache", + "[213]打家劫舍 II_translated": "/en/docs/career/interview-prep/leetcode/213-house-robber-ii", + "[2490]回环句_translated": "/en/docs/career/interview-prep/leetcode/2490-circular-sentence", + "[2562]找出数组的串联值_translated": "/en/docs/career/interview-prep/leetcode/2562-find-the-array-concatenation-value", + "[2582]递枕头_translated": "/en/docs/career/interview-prep/leetcode/2582-pass-the-pillow", + "brief_alternate 作业帮忙_translated": "/zh/docs/career/interview-prep/leetcode/briefalternate-zuo-ye-bang-mang-translated", + "剑指 Offer II 021. 删除链表的倒数第 n 个结点_translated": "/en/docs/career/interview-prep/leetcode/sword-offer-ii-021-remove-nth-node-from-end-of-list" + }, + "byNumber": { + "42": "/en/docs/career/interview-prep/leetcode/42-trapping-rain-water", + "46": "/en/docs/career/interview-prep/leetcode/46-permutations", + "76": "/en/docs/career/interview-prep/leetcode/76-minimum-window-substring", + "80": "/en/docs/career/interview-prep/leetcode/80-remove-duplicates-from-sorted-array-ii", + "93": "/en/docs/career/interview-prep/leetcode/93-restore-ip-addresses", + "121": "/en/docs/career/interview-prep/leetcode/121-best-time-to-buy-and-sell-stock", + "142": "/en/docs/career/interview-prep/leetcode/142-linked-list-cycle-ii", + "146": "/en/docs/career/interview-prep/leetcode/146-lru-cache", + "213": "/en/docs/career/interview-prep/leetcode/213-house-robber-ii", + "219": "/en/docs/career/interview-prep/leetcode/219-contains-duplicate-ii", + "345": "/en/docs/career/interview-prep/leetcode/345-reverse-vowels-of-a-string", + "538": "/en/docs/career/interview-prep/leetcode/538-convert-bst-to-greater-sum-tree", + "994": "/en/docs/career/interview-prep/leetcode/994-rotting-oranges", + "1004": "/en/docs/career/interview-prep/leetcode/1004-max-consecutive-ones-iii", + "1234": "/en/docs/career/interview-prep/leetcode/1234-replace-substring-for-balanced-string", + "1333": "/en/docs/career/interview-prep/leetcode/1333-filter-restaurants-by-vegan-friendly-price-and-distance", + "1545": "/en/docs/career/interview-prep/leetcode/1545-find-kth-bit-in-nth-binary-string", + "1653": "/en/docs/career/interview-prep/leetcode/1653-minimum-deletions-to-make-string-balanced", + "1664": "/en/docs/career/interview-prep/leetcode/1664-ways-to-make-a-fair-array", + "1825": "/en/docs/career/interview-prep/leetcode/1825-mk-average", + "1828": "/en/docs/career/interview-prep/leetcode/1828-queries-on-number-of-points-inside-a-circle", + "2131": "/en/docs/career/interview-prep/leetcode/2131-longest-palindrome-by-concatenating-two-letter-words", + "2241": "/en/docs/career/interview-prep/leetcode/2241-design-an-atm-machine", + "2270": "/en/docs/career/interview-prep/leetcode/2270-number-of-ways-to-split-array", + "2293": "/en/docs/career/interview-prep/leetcode/2293-min-max-game", + "2299": "/en/docs/career/interview-prep/leetcode/2299-strong-password-checker-ii", + "2309": "/en/docs/career/interview-prep/leetcode/2309-greatest-english-letter-in-upper-and-lower-case", + "2335": "/en/docs/career/interview-prep/leetcode/2335-minimum-amount-of-time-to-fill-cups", + "2341": "/en/docs/career/interview-prep/leetcode/2341-maximum-number-of-pairs-in-array", + "2490": "/en/docs/career/interview-prep/leetcode/2490-circular-sentence", + "2562": "/en/docs/career/interview-prep/leetcode/2562-find-the-array-concatenation-value", + "2582": "/en/docs/career/interview-prep/leetcode/2582-pass-the-pillow", + "2639": "/en/docs/career/interview-prep/leetcode/2639-find-column-width-of-grid", + "2679": "/en/docs/career/interview-prep/leetcode/2679-sum-in-a-matrix", + "2894": "/en/docs/career/interview-prep/leetcode/2894-divisible-and-non-divisible-sums-difference", + "3072": "/en/docs/career/interview-prep/leetcode/3072-distribute-elements-into-two-arrays-ii", + "3138": "/en/docs/career/interview-prep/leetcode/3138-minimum-length-of-anagram-concatenation", + "6323": "/en/docs/career/interview-prep/leetcode/6323-distribute-money-to-maximum-children", + "9021": "/en/docs/career/interview-prep/leetcode/9021-tut-3-25t1", + "021": "/en/docs/career/interview-prep/leetcode/sword-offer-ii-021-remove-nth-node-from-end-of-list" + } } diff --git a/generated/site-leaderboard.json b/generated/site-leaderboard.json index 76cc47d9..47c5e8a2 100644 --- a/generated/site-leaderboard.json +++ b/generated/site-leaderboard.json @@ -2,851 +2,1535 @@ { "id": "114939201", "name": "longsizhuo", - "points": 2370, - "commits": 237, + "points": 3090, + "commits": 309, "avatarUrl": "https://avatars.githubusercontent.com/u/114939201", "contributedDocs": [ { - "id": "psc0xf6oa1m7g8s9wfwiojkf", - "title": "PyTorch", - "url": "/docs/ai/llm-basics/pytorch" + "id": "a6inw303oslb7i5tcqj5xxx4", + "title": "2270. 分割数组的方案数", + "url": "/en/docs/career/interview-prep/leetcode/2270-number-of-ways-to-split-array" }, { - "id": "pffzdgytknyhaywar8uzyf2e", - "title": "LLaVA", - "url": "/docs/ai/multimodal/llava" + "id": "ai7cmwf4irjaobqf7uokj3b4", + "title": "数组", + "url": "/zh/docs/learn/cs/data-structures/array" }, { - "id": "c3a4nmid9plytif5ameigj7d", - "title": "王树森推荐系统学习笔记_召回", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_note/wangshusen_recommend_note_retrieval" + "id": "as876rdhtmpnyyeclxt226s1", + "title": "推荐系统", + "url": "/zh/docs/learn/ai/recommender-systems/recommender-roadmap" }, { - "id": "xqz5iiv3p52h6d9g3c0w2baf", - "title": "常用Markdown语法", - "url": "/docs/CommunityShare/Geek/CommonUsedMarkdown" + "id": "aslw60tfyzxqga598pt4ociu", + "title": "Leetcode 题解汇总", + "url": "/zh/docs/career/interview-prep/leetcode" }, { - "id": "gmpls10e2dz0bbizotvhglc8", - "title": "静态数组", - "url": "/docs/computer-science/data-structures/array/01-static-array.zh" + "id": "axhoyzdtxoc82q58j1os57c8", + "title": "994.Rotten orange.md", + "url": "/en/docs/career/interview-prep/leetcode/994-rotting-oranges" }, { - "id": "nuojcaq1s6r5nggul0uq3r3j", - "title": "动态数组", - "url": "/docs/computer-science/data-structures/array/02-dynamic-array.zh" + "id": "ba5lqs2zg1jqc30qzw3osm9v", + "title": "线性代数参考资料", + "url": "/zh/docs/learn/ai/ai-math-basics/linear-algebra/resources" }, { - "id": "ai7cmwf4irjaobqf7uokj3b4", - "title": "数组", - "url": "/docs/computer-science/data-structures/array/index.zh" + "id": "bkxwg1m9p9rnm8062wsm020w", + "title": "AI小镇策划", + "url": "/zh/docs/projects/ai-town" }, { - "id": "vti0bt2qlnr681msbk6igznc", - "title": "数据结构基础", - "url": "/docs/computer-science/data-structures/index.zh" + "id": "boo70qqm8nos8b0q9h7zjrki", + "title": "LeWorldModel", + "url": "/zh/docs/community/papers/leworldmodel" }, { - "id": "gkjk6stzpb44n9lv8u2ij7xx", - "title": "单链表", - "url": "/docs/computer-science/data-structures/linked-list/01-singly-linked-list.zh" + "id": "bsf0yz1zrmlz7masrdmq8fq6", + "title": "1653. The minimum number of times to balance the string balance.md", + "url": "/en/docs/career/interview-prep/leetcode/1653-minimum-deletions-to-make-string-balanced" }, { - "id": "lt9yrqt0ksl2liabq9ocw0z4", - "title": "链表", - "url": "/docs/computer-science/data-structures/linked-list/index.zh" + "id": "bvccoatft6y7bph83oivdcfe", + "title": "王树森推荐系统学习笔记_冷启动", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note_coldstart" }, { - "id": "i88bna4sg5pr4ekhg32drv2i", - "title": "基座大模型", - "url": "/docs/ai/foundation-models/foundation-models-lifecycle" + "id": "c3a4nmid9plytif5ameigj7d", + "title": "王树森推荐系统学习笔记_召回", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note/wangshusen_recommend_note_retrieval" }, { - "id": "lndxpf7luoeqwwde4in23xr1", - "title": "模型评测", - "url": "/docs/ai/foundation-models/evaluation" + "id": "cgo4lweflk5jx1hsncr8hshk", + "title": "面试前必看:掌握这四个小技巧,你的成功率会大大增加", + "url": "/zh/docs/career/interview-prep/pre-interview" }, { - "id": "l5nes88zd54y6ao64ufkylz2", - "title": "模型微调", - "url": "/docs/ai/foundation-models/finetune" + "id": "chb8ee5s38v8gh751n9e5znj", + "title": "1828. Statistics the number of a circle mid -point One question daily", + "url": "/en/docs/career/interview-prep/leetcode/1828-queries-on-number-of-points-inside-a-circle" }, { - "id": "h7s6nm7h5oqnhhdq9m1mgwwo", - "title": "经典面试QKV问题", - "url": "/docs/ai/foundation-models/qkv-interview" + "id": "clx9mmqqvxipdfamqciuo146", + "title": "2679.In the matrix and the harmony.md", + "url": "/en/docs/career/interview-prep/leetcode/2679-sum-in-a-matrix" }, { - "id": "jgz0nl0cbd4frj2dg98mdv0x", - "title": "模型训练", - "url": "/docs/ai/foundation-models/training" + "id": "crr0001index2026041800000001", + "title": "Career", + "url": "/zh/docs/career" }, { - "id": "nor5ktairygnt4dorqbddo9n", - "title": "生成模型", - "url": "/docs/ai/generative-todo/generative-models-plan" + "id": "d5evrnoglwjvmyginjq84bl0", + "title": "93. 复原 IP 地址", + "url": "/en/docs/career/interview-prep/leetcode/93-restore-ip-addresses" }, { - "id": "ix9azldhgm46j4i1xzgnd26r", - "title": "AI 知识库", - "url": "/docs/ai" + "id": "d5fya0gd1w8vblv8qeqgnqtu", + "title": "概率论与数理统计 (Probability & Statistics)", + "url": "/zh/docs/learn/ai/ai-math-basics/probability-statistics" }, { - "id": "xboc8qj2128aivvt0goo1wow", - "title": "大模型入门课程", - "url": "/docs/ai/llm-basics/courses" + "id": "d73h3kyjnzytk1y2nizulyr6", + "title": "算力平台", + "url": "/zh/docs/learn/ai/compute-platforms/compute-platforms-handbook" + }, + { + "id": "db3qwg25h6l0bh8f2sdabdqc", + "title": "Theory of MoE", + "url": "/zh/docs/learn/ai/MoE/moe-update" }, { "id": "dqg4iqz7hgyq38cqz3tg9tlf", "title": "李沐动手学深度学习", - "url": "/docs/ai/llm-basics/deep-learning/d2l" + "url": "/zh/docs/learn/ai/llm-basics/deep-learning/d2l" }, { - "id": "nwt5322vw4q6sz8ho8qynv28", - "title": "CUDA", - "url": "/docs/ai/llm-basics/cuda" + "id": "e6udpzrorhvgeeda6xpy1e0s", + "title": "如何部署你自己的Github图床-PictureCDN", + "url": "/zh/docs/community/dev-tips/picturecdn" }, { - "id": "vdclex41huib10ccsqw9u76k", - "title": "深度学习基础", - "url": "/docs/ai/llm-basics/deep-learning" + "id": "ebgss2sa91drisxswsh6iu8x", + "title": "数值分析 (Numerical Analysis)", + "url": "/zh/docs/learn/ai/ai-math-basics/numerical-analysis" }, { - "id": "nrelvvfzq0gma7pqfx9fkfxt", - "title": "NLP", - "url": "/docs/ai/llm-basics/deep-learning/nlp" + "id": "eej2awin6irhbdgcy8vvs3xb", + "title": "Perplexity Comet 浏览器:能当私人管家的自动化浏览器", + "url": "/zh/docs/community/tools/perplexity-comet" }, { - "id": "xnl2yzrb4x748zhhfe26ragt", - "title": "Embedding模型", - "url": "/docs/ai/llm-basics/embeddings" + "id": "egpawb1yui58yprrsgxn9qj2", + "title": "数据集构建", + "url": "/zh/docs/learn/ai/foundation-models/datasets" }, { - "id": "jq6323xynmyapm5vgncmyymh", - "title": "Qwen3-embedding", - "url": "/docs/ai/llm-basics/embeddings/qwen3-embedding" + "id": "eo5rwumxkh7twfdvlp5po9rc", + "title": "CS294/194-196 Large Language Model Agents", + "url": "/zh/docs/learn/ai/agents-todo/cs294-194-196" }, { - "id": "h8awdow89uicdy4kx9iimlta", - "title": "大模型基础", - "url": "/docs/ai/llm-basics/llm-foundations" + "id": "eyd32o3ebd5q69hfbb2enxqi", + "title": "嵌入模型微调入门知识", + "url": "/zh/docs/learn/ai/foundation-models/rag/embedding" }, { - "id": "k1owc5kfw3vihc5hnmysqttl", - "title": "AI by Hand:手搓 AI 模型", - "url": "/docs/ai/llm-basics/transformer/ai-by-hand" + "id": "fkk8ghklsr15a0s3vcxnswnj", + "title": "面试阶段逐关击破 | OA刷题血泪史 + VI分数偷看技巧 + 群面套路合集", + "url": "/zh/docs/career/interview-prep/interview-tips" }, { - "id": "lsokl8ofmo7msxlqyvihbhz5", - "title": "Transformer", - "url": "/docs/ai/llm-basics/transformer" + "id": "fostlzqqx6l10qz1egd8dw5m", + "title": "Counting Stars — 校际编程竞赛", + "url": "/zh/docs/career/interview-prep/leetcode/counting-stars-inter-uni-programming-contest" }, { - "id": "r68izu11bkrkk6st194kwk80", - "title": "方法论学习", - "url": "/docs/ai/methodology/research-methodology" + "id": "fxn6bn619g3a9l98l9vggpg1", + "title": "One question daily 2299. Code inspection device II", + "url": "/en/docs/career/interview-prep/leetcode/2299-strong-password-checker-ii" }, { - "id": "uguqyqpacxyj5irjickbt8n9", - "title": "杂项工具", - "url": "/docs/ai/misc-tools/learning-toolkit" + "id": "g6wucmr69lamd9xyxm7uunnd", + "title": "Make编译", + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/3-make" }, { - "id": "x3xs4hk0mc7lxlgbgskti5qk", - "title": "模型数据集平台", - "url": "/docs/ai/model-datasets-platforms/platform-and-datasets" + "id": "gc6tdzkkwxn5t90nw69fibl6", + "title": "MLLM 多模态大模型", + "url": "/zh/docs/learn/ai/multimodal/mllm" }, { - "id": "qftv72k0kzwiz8ddksbcl2aw", - "title": "MOE 浅谈", - "url": "/docs/ai/MoE/MOE-intro" + "id": "gj4bn01un0s0841berfvwrn5", + "title": "使用 Cloudflare R2 + ShareX 搭建个人/团队专属“永久”图床", + "url": "/zh/docs/community/dev-tips/cloudflare-r2-sharex-free-image-hosting" }, { - "id": "qaezsrj15sudk796r5otne36", - "title": "Code translation入门推荐必读", - "url": "/docs/ai/Multi-agents-system-on-Code-Translation/code-translation-intro" + "id": "gkjk6stzpb44n9lv8u2ij7xx", + "title": "单链表", + "url": "/zh/docs/learn/cs/data-structures/linked-list/01-singly-linked-list" }, { - "id": "pmrtokz6393ywte5zqeskpm0", - "title": "多模态基础课程", - "url": "/docs/ai/multimodal/courses" + "id": "gmpls10e2dz0bbizotvhglc8", + "title": "静态数组", + "url": "/zh/docs/learn/cs/data-structures/array/01-static-array" }, { - "id": "gc6tdzkkwxn5t90nw69fibl6", - "title": "MLLM 多模态大模型", - "url": "/docs/ai/multimodal/mllm" + "id": "gpoh50befguf7zgsetzkvbi3", + "title": "信息论 (Information Theory)", + "url": "/zh/docs/learn/ai/ai-math-basics/information-theory" }, { - "id": "zte4s8s8ls4cs25mfrzyepfl", - "title": "多模态大模型", - "url": "/docs/ai/multimodal/multimodal-overview" + "id": "gtqamuq3tftmvzstbunkgbo5", + "title": "vcpkg包管理器", + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/5-vcpkg" }, { - "id": "ybczrbgxo5t4pl0erce7qz6w", - "title": "QwenVL", - "url": "/docs/ai/multimodal/qwenvl" + "id": "h53uwefhlykt9ietsx9x0vtn", + "title": "Introduction of Multi-agents system(In any task you want)", + "url": "/zh/docs/learn/ai/Introduction-of-Multi-agents-system/introduction_of_multi-agents_system" }, { - "id": "ssrhm03fw9sbogk78dmy92ml", - "title": "多模态视频大模型", - "url": "/docs/ai/multimodal/video-mm-todo" + "id": "h7s6nm7h5oqnhhdq9m1mgwwo", + "title": "经典面试QKV问题", + "url": "/zh/docs/learn/ai/foundation-models/qkv-interview" }, { - "id": "xd3q72ubqzlesz8x4gewhi5r", - "title": "ViT 视觉编码器", - "url": "/docs/ai/multimodal/vit" + "id": "h8awdow89uicdy4kx9iimlta", + "title": "大模型基础", + "url": "/zh/docs/learn/ai/llm-basics/llm-foundations" }, { - "id": "as876rdhtmpnyyeclxt226s1", - "title": "推荐系统", - "url": "/docs/ai/recommender-systems/recommender-roadmap" + "id": "hajz43iblku13mmevia8zrhv", + "title": "王树森推荐系统学习笔记_特征交叉", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_crossing" }, { - "id": "s4fuhmdf6hj49jx1l7k87d4p", - "title": "强化学习", - "url": "/docs/ai/reinforcement-learning/reinforcement-learning-overview" + "id": "hiqhki2z4v6oy0jstrcs7im0", + "title": "2335. The shortest total time to be filled with a cup One question daily", + "url": "/en/docs/career/interview-prep/leetcode/2335-minimum-amount-of-time-to-fill-cups" }, { - "id": "tksz80mfqqyzwzzer5p3uxtg", - "title": "Git入门操作指南-程序员必会的git小技巧", - "url": "/docs/CommunityShare/Geek/git101" + "id": "i0xmpskau105p83vq35wnxls", + "title": "用闲置树莓派搭建一个Minecraft服务器", + "url": "/zh/docs/community/dev-tips/raspberry-guide" }, { - "id": "jee9yt8n8tmo8yclqujerw2x", - "title": "技术分享", - "url": "/docs/CommunityShare/Geek" + "id": "i88bna4sg5pr4ekhg32drv2i", + "title": "基座大模型", + "url": "/zh/docs/learn/ai/foundation-models/foundation-models-lifecycle" }, { - "id": "yxd2qpfl2li6092bjx8bz7vb", - "title": "常用Katex语法", - "url": "/docs/CommunityShare/Geek/Katex" + "id": "ifwz8sqxqsgjrafa79pycrcm", + "title": "多模态强化学习项目(MVP 目标)", + "url": "/zh/docs/projects/multimodal-rl" }, { - "id": "r0inttjcby48tly602p410vo", - "title": "个人常用字符", - "url": "/docs/CommunityShare/Geek/Katex/Seb1" + "id": "ix9azldhgm46j4i1xzgnd26r", + "title": "AI 知识库", + "url": "/zh/docs/learn/ai" }, { - "id": "khcrztruqdku9fntd3dwzvwe", - "title": "数学公式语法", - "url": "/docs/CommunityShare/Geek/Katex/Seb2" + "id": "jcqhknk5z2xr3rfqn49me4j9", + "title": "1333.Restaurant filter", + "url": "/en/docs/career/interview-prep/leetcode/1333-filter-restaurants-by-vegan-friendly-price-and-distance" }, { - "id": "i0xmpskau105p83vq35wnxls", - "title": "用闲置树莓派搭建一个Minecraft服务器", - "url": "/docs/CommunityShare/Geek/raspberry-guide" + "id": "jee9yt8n8tmo8yclqujerw2x", + "title": "技术分享", + "url": "/zh/docs/community/dev-tips" }, { - "id": "ksjj9shalh6hqezx6t6am5vw", - "title": "Computer Science", - "url": "/docs/computer-science" + "id": "jgyg6bp0nceyrxirz5qw3zsv", + "title": "UNSW学费回收计划-那些你还不知道的隐藏福利", + "url": "/zh/docs/community/life/unsw-student-benefit" }, { - "id": "vcfer8dvlt80se4kmbnshx7x", - "title": "AI 数学基础", - "url": "/docs/ai/ai-math-basics/math-foundations" + "id": "jgz0nl0cbd4frj2dg98mdv0x", + "title": "模型训练", + "url": "/zh/docs/learn/ai/foundation-models/training" }, { - "id": "ue27z7z95yzw3lhhfj7nit1c", - "title": "Agent", - "url": "/docs/ai/agents-todo/agent-ecosystem" + "id": "jq6323xynmyapm5vgncmyymh", + "title": "Qwen3-embedding", + "url": "/zh/docs/learn/ai/llm-basics/embeddings/qwen3-embedding" }, { - "id": "eo5rwumxkh7twfdvlp5po9rc", - "title": "CS294/194-196 Large Language Model Agents", - "url": "/docs/ai/agents-todo/cs294-194-196" + "id": "jv8qj3ljyr2uomaehnv0l77k", + "title": "42. 接雨水", + "url": "/en/docs/career/interview-prep/leetcode/42-trapping-rain-water" }, { - "id": "v8m8kdjzzx7uhiz69r5m3m9o", - "title": "微积分与优化 (Calculus & Optimization)", - "url": "/docs/ai/ai-math-basics/calculus-optimization" + "id": "k1owc5kfw3vihc5hnmysqttl", + "title": "AI by Hand:手搓 AI 模型", + "url": "/zh/docs/learn/ai/llm-basics/transformer/ai-by-hand" }, { - "id": "l1kvojw2gvggxflrmzc7j7sm", - "title": "线性代数 (Linear Algebra)", - "url": "/docs/ai/ai-math-basics/linear-algebra" + "id": "k4btd9x3l3xnnl4dnr64d8cq", + "title": "219.Existing duplicate elements II Hash table graphics", + "url": "/en/docs/career/interview-prep/leetcode/219-contains-duplicate-ii" }, { - "id": "ba5lqs2zg1jqc30qzw3osm9v", - "title": "参考资料", - "url": "/docs/ai/ai-math-basics/linear-algebra/resources" + "id": "k6cgwcc28l9iap5s5oyjbjwo", + "title": "VAE学习笔记", + "url": "/zh/docs/learn/ai/multimodal/VAE" }, { - "id": "ebgss2sa91drisxswsh6iu8x", - "title": "数值分析 (Numerical Analysis)", - "url": "/docs/ai/ai-math-basics/numerical-analysis" + "id": "khcrztruqdku9fntd3dwzvwe", + "title": "数学公式语法", + "url": "/zh/docs/community/dev-tips/Katex/Seb2" }, { - "id": "d5fya0gd1w8vblv8qeqgnqtu", - "title": "概率论与数理统计 (Probability & Statistics)", - "url": "/docs/ai/ai-math-basics/probability-statistics" + "id": "ksjj9shalh6hqezx6t6am5vw", + "title": "Computer Science", + "url": "/zh/docs/learn/cs" }, { - "id": "q7kagbrpnek7b89axvssn4bo", - "title": "参考资料", - "url": "/docs/ai/ai-math-basics/probability-statistics/resources" + "id": "ksw2vic4alf1tdnnueay81g8", + "title": "2131. 连接两字母单词得到的最长回文串", + "url": "/en/docs/career/interview-prep/leetcode/2131-longest-palindrome-by-concatenating-two-letter-words" }, { - "id": "d73h3kyjnzytk1y2nizulyr6", - "title": "算力平台", - "url": "/docs/ai/compute-platforms/compute-platforms-handbook" + "id": "kw44if3s2zi4w2gs1gfhxvoz", + "title": "6323. Child that divides money the most.md", + "url": "/en/docs/career/interview-prep/leetcode/6323-distribute-money-to-maximum-children" }, { - "id": "ns7q5ehuje6oiua7as6rtnyf", - "title": "算力需求指南", - "url": "/docs/ai/compute-platforms/model-compuational-resource-demand" + "id": "kyu85av71b4n07hbdycbhvj9", + "title": "基础gcc/g++", + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/2-base-gcc" }, { - "id": "z157s85hnz1y37tr28y2a8h2", - "title": "部署与推理", - "url": "/docs/ai/foundation-models/deploy-infer" + "id": "kzi6k1yg1sehlxidnxdsf59a", + "title": "Recommended Books on Mathematics and Data Science", + "url": "/zh/docs/learn/ai/ai-math-basics/math_books" }, { - "id": "egpawb1yui58yprrsgxn9qj2", - "title": "数据集构建", - "url": "/docs/ai/foundation-models/datasets" + "id": "l1kvojw2gvggxflrmzc7j7sm", + "title": "线性代数 (Linear Algebra)", + "url": "/zh/docs/learn/ai/ai-math-basics/linear-algebra" }, { - "id": "zywri1bs64awfi9utfjy14ll", - "title": "RAG", - "url": "/docs/CommunityShare/RAG/rag" + "id": "l358imxaj1mmtth6dydvu54s", + "title": "76Minimum cover string.md", + "url": "/en/docs/career/interview-prep/leetcode/76-minimum-window-substring" }, { - "id": "xk44lx4q1gpcm1uqk8nnbg7q", - "title": "CMake", - "url": "/docs/computer-science/cpp_backend/easy_compile/4_CMake" + "id": "l5nes88zd54y6ao64ufkylz2", + "title": "模型微调", + "url": "/zh/docs/learn/ai/foundation-models/finetune" }, { - "id": "xgxqqvglxyauoeh8eye7lzu6", - "title": "手写定长内存池", - "url": "/docs/computer-science/cpp_backend/Handwritten_pool_components/2_Handwritten_mempool1" + "id": "l6eepr5ctjgrhdgupy3twr1t", + "title": "Prompt Repetition Improves Non-Reasoning LLMs", + "url": "/zh/docs/community/papers/prompt-repetition-improves-non-reasoning-llms" }, { - "id": "bvccoatft6y7bph83oivdcfe", - "title": "王树森推荐系统学习笔记_冷启动", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_note_coldstart" + "id": "ld59a8z1v84ig4rlr0p0n2a9", + "title": "资深科技大厂程序员Coffee Chat回顾", + "url": "/zh/docs/career/events/coffee-chat" + }, + { + "id": "lndxpf7luoeqwwde4in23xr1", + "title": "模型评测", + "url": "/zh/docs/learn/ai/foundation-models/evaluation" + }, + { + "id": "lnx1bszj5aqqqfa50sejjv7n", + "title": "2639. Query the width of each column in the grid diagram.md", + "url": "/en/docs/career/interview-prep/leetcode/2639-find-column-width-of-grid" }, { "id": "lodydcd211esraq1r55ze9ey", "title": "其他资料", - "url": "/docs/ai/llm-basics/deep-learning/misc" + "url": "/zh/docs/learn/ai/llm-basics/deep-learning/misc" }, { - "id": "db3qwg25h6l0bh8f2sdabdqc", - "title": "Theory of MoE", - "url": "/docs/ai/MoE/moe-update" + "id": "lrn0001index2026041800000001", + "title": "Learn", + "url": "/zh/docs/learn" }, { - "id": "qmy3p4vc45ek61ce4n62fpxy", - "title": "王树森推荐系统学习笔记_涨指标", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_note_improvement" + "id": "lsokl8ofmo7msxlqyvihbhz5", + "title": "Transformer", + "url": "/zh/docs/learn/ai/llm-basics/transformer" }, { - "id": "ol03smbujgwztho45ycj52ah", - "title": "王树森推荐系统学习笔记_重排", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_note_rerank" + "id": "lt9yrqt0ksl2liabq9ocw0z4", + "title": "链表", + "url": "/zh/docs/learn/cs/data-structures/linked-list" }, { - "id": "ifwz8sqxqsgjrafa79pycrcm", - "title": "多模态强化学习项目(MVP 目标)", - "url": "/docs/all-projects/multimodal-rl" + "id": "lzrh7ftq3kegsyx8gimonrfu", + "title": "2241. 设计 ATM 机器", + "url": "/en/docs/career/interview-prep/leetcode/2241-design-an-atm-machine" + }, + { + "id": "m37j6a24hb9mlrm0g6jfcxop", + "title": "PTE-Academic题型与题量介绍", + "url": "/zh/docs/community/language/pte-intro" + }, + { + "id": "mc2rjsq7syibclikyhomsbft", + "title": ">-", + "url": "/en/docs/career/interview-prep/leetcode/2309-greatest-english-letter-in-upper-and-lower-case" }, { "id": "mgb41edhi9cz1kxzae074an0", "title": "学生邮箱能免费领的AI提效工具系列", - "url": "/docs/CommunityShare/Amazing-AI-Tools" + "url": "/zh/docs/community/tools" }, { "id": "mhyoknm6vj8jmp186oli5f5c", "title": "swanlab快速上手指南", - "url": "/docs/CommunityShare/Geek/swanlab" + "url": "/zh/docs/community/tools/swanlab" }, { - "id": "eyd32o3ebd5q69hfbb2enxqi", - "title": "嵌入模型微调入门知识", - "url": "/docs/CommunityShare/RAG/embedding" + "id": "mnjkrtrs7xk3fq538eqreuge", + "title": "手写线程池", + "url": "/zh/docs/learn/cs/cpp-backend/handwritten-pool-components/1-handwritten-threadpool" + }, + { + "id": "mssz5wgh368yp55qcvs1op5e", + "title": "One question daily 2293. Great mini game", + "url": "/en/docs/career/interview-prep/leetcode/2293-min-max-game" + }, + { + "id": "mxt0ux1zpbzph4nuxz51eyg7", + "title": "46. 全排列", + "url": "/en/docs/career/interview-prep/leetcode/46-permutations" + }, + { + "id": "n38sohi8zlxesl82tgv854kj", + "title": "1825. Seek out MK average value", + "url": "/en/docs/career/interview-prep/leetcode/1825-mk-average" + }, + { + "id": "naxatag8x2nnvkhbwdfc1azc", + "title": "2562.Find the series of the array", + "url": "/en/docs/career/interview-prep/leetcode/2562-find-the-array-concatenation-value" + }, + { + "id": "nor5ktairygnt4dorqbddo9n", + "title": "生成模型", + "url": "/zh/docs/learn/ai/generative-todo/generative-models-plan" + }, + { + "id": "nrelvvfzq0gma7pqfx9fkfxt", + "title": "NLP", + "url": "/zh/docs/learn/ai/llm-basics/deep-learning/nlp" + }, + { + "id": "ns7q5ehuje6oiua7as6rtnyf", + "title": "算力需求指南", + "url": "/zh/docs/learn/ai/compute-platforms/model-compuational-resource-demand" + }, + { + "id": "nuojcaq1s6r5nggul0uq3r3j", + "title": "动态数组", + "url": "/zh/docs/learn/cs/data-structures/array/02-dynamic-array" + }, + { + "id": "nwt5322vw4q6sz8ho8qynv28", + "title": "CUDA", + "url": "/zh/docs/learn/ai/llm-basics/cuda" + }, + { + "id": "o3knuvbpnki6isfjv3g5ohau", + "title": "3138. 同位字符串连接的最小长度", + "url": "/en/docs/career/interview-prep/leetcode/3138-minimum-length-of-anagram-concatenation" + }, + { + "id": "ol03smbujgwztho45ycj52ah", + "title": "王树森推荐系统学习笔记_重排", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note_rerank" + }, + { + "id": "one7va4e0hvbq1eqhm6ww2kd", + "title": "brief_alternate Assignment", + "url": "/zh/docs/career/interview-prep/leetcode/briefalternate-zuo-ye-bang-mang-translated" + }, + { + "id": "otfiks0uz3aue1bdvlyqmj3e", + "title": "VQ-VAE学习笔记", + "url": "/zh/docs/learn/ai/multimodal/VQVAE" + }, + { + "id": "p8igr19xfxnuyo2lpngnr6fg", + "title": "1234. Replace the sub -string to get a balanced string One question daily", + "url": "/en/docs/career/interview-prep/leetcode/1234-replace-substring-for-balanced-string" + }, + { + "id": "p9gvb8klqv990cq88j4l76zy", + "title": "2582.Pillow", + "url": "/en/docs/career/interview-prep/leetcode/2582-pass-the-pillow" + }, + { + "id": "pe6o8l76945uo7aqv79ddhii", + "title": "2490Return ring sentence", + "url": "/en/docs/career/interview-prep/leetcode/2490-circular-sentence" + }, + { + "id": "pffzdgytknyhaywar8uzyf2e", + "title": "LLaVA", + "url": "/zh/docs/learn/ai/multimodal/llava" + }, + { + "id": "pmrtokz6393ywte5zqeskpm0", + "title": "多模态基础课程", + "url": "/zh/docs/learn/ai/multimodal/courses" + }, + { + "id": "pne40puz5alzsf0f5jb0frbm", + "title": "程序员学生时期求职与实习经验分享", + "url": "/zh/docs/career/interview-prep/preparations-to-get-an-offer-as-a-student" + }, + { + "id": "pqplmwaj5o5aszydqo1drzrj", + "title": "RQ-VAE学习笔记", + "url": "/zh/docs/learn/ai/multimodal/RQVAE" + }, + { + "id": "prj0001index2026041800000001", + "title": "Projects", + "url": "/zh/docs/projects" + }, + { + "id": "psc0xf6oa1m7g8s9wfwiojkf", + "title": "PyTorch", + "url": "/zh/docs/learn/ai/llm-basics/pytorch" + }, + { + "id": "q7kagbrpnek7b89axvssn4bo", + "title": "概率论与统计学参考资料", + "url": "/zh/docs/learn/ai/ai-math-basics/probability-statistics/resources" + }, + { + "id": "q8290wmhyofuiskzn1ph63ta", + "title": "手写内存池(简单定长)", + "url": "/zh/docs/learn/cs/cpp-backend/mempool-simple" + }, + { + "id": "q8d1j9bii2ve2p7pp4xtok79", + "title": "程序员 Burnout 自救指南", + "url": "/zh/docs/community/mental-health/burnout-guide" + }, + { + "id": "qaezsrj15sudk796r5otne36", + "title": "Code translation入门推荐必读", + "url": "/zh/docs/learn/ai/Multi-agents-system-on-Code-Translation/code-translation-intro" + }, + { + "id": "qftv72k0kzwiz8ddksbcl2aw", + "title": "MOE 浅谈", + "url": "/zh/docs/learn/ai/MoE/MOE-intro" + }, + { + "id": "qfvqmc1exp066falnsg97c5m", + "title": "Sword finger Offer II 021. Delete the countdown of the linked list n Node.md", + "url": "/en/docs/career/interview-prep/leetcode/sword-offer-ii-021-remove-nth-node-from-end-of-list" + }, + { + "id": "qmy3p4vc45ek61ce4n62fpxy", + "title": "王树森推荐系统学习笔记_涨指标", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note_improvement" + }, + { + "id": "r0inttjcby48tly602p410vo", + "title": "个人常用字符", + "url": "/zh/docs/community/dev-tips/Katex/Seb1" + }, + { + "id": "r12u8o7j73oxhbvgphi939fb", + "title": "3072. Allocate elements into two arrays II.md", + "url": "/en/docs/career/interview-prep/leetcode/3072-distribute-elements-into-two-arrays-ii" + }, + { + "id": "r68izu11bkrkk6st194kwk80", + "title": "方法论学习", + "url": "/zh/docs/learn/ai/methodology/research-methodology" + }, + { + "id": "rv6egbynttb4mt1n0412bue0", + "title": "213.Hiccup II", + "url": "/en/docs/career/interview-prep/leetcode/213-house-robber-ii" + }, + { + "id": "rxyvvumcvfl2oh3hky8urkfn", + "title": "心理健康", + "url": "/zh/docs/community/mental-health" + }, + { + "id": "ryp6s59uwc10w2dywgs6f66h", + "title": "Python beat98.40% collectionsofCounter method!", + "url": "/en/docs/career/interview-prep/leetcode/80-remove-duplicates-from-sorted-array-ii" + }, + { + "id": "s0cadbu09dgu54q0zxttkx7z", + "title": "9021_TUT_3_25T1.md", + "url": "/en/docs/career/interview-prep/leetcode/9021-tut-3-25t1" + }, + { + "id": "s3w19zdm6yhkhj4o0ba3kbal", + "title": "2341. How much can the array be formed One question daily", + "url": "/en/docs/career/interview-prep/leetcode/2341-maximum-number-of-pairs-in-array" + }, + { + "id": "s4fuhmdf6hj49jx1l7k87d4p", + "title": "强化学习", + "url": "/zh/docs/learn/ai/reinforcement-learning/reinforcement-learning-overview" + }, + { + "id": "s8w3d2p5k9m4h7z1x0c2a8r6", + "title": "求职活动回放站", + "url": "/zh/docs/career/events/event-takeway" + }, + { + "id": "sfzt30mtx0jsuv6esnpm3w8y", + "title": "群友分享", + "url": "/zh/docs/community" + }, + { + "id": "ska0npc89ja1r4pdt2qow79u", + "title": "1664. Number of schemes to generate balance numbers One question daily", + "url": "/en/docs/career/interview-prep/leetcode/1664-ways-to-make-a-fair-array" + }, + { + "id": "ssrhm03fw9sbogk78dmy92ml", + "title": "多模态视频大模型", + "url": "/zh/docs/learn/ai/multimodal/video-mm-todo" + }, + { + "id": "tksz80mfqqyzwzzer5p3uxtg", + "title": "Git入门操作指南-程序员必会的git小技巧", + "url": "/zh/docs/community/dev-tips/git101" }, { "id": "totx4pej5lhyt1nl4anwhakj", "title": "linux/win上的c++库", - "url": "/docs/computer-science/cpp_backend/easy_compile/1_cpp_libs" + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/1-cpp-libs" }, { - "id": "kyu85av71b4n07hbdycbhvj9", - "title": "基础gcc/g++", - "url": "/docs/computer-science/cpp_backend/easy_compile/2_base_gcc" + "id": "u0szm4sv8mr3on3ivbfo5r84", + "title": "146.LRU cache", + "url": "/en/docs/career/interview-prep/leetcode/146-lru-cache" }, { - "id": "g6wucmr69lamd9xyxm7uunnd", - "title": "Make编译", - "url": "/docs/computer-science/cpp_backend/easy_compile/3_Make" + "id": "u68pjetu592c9zvs3f5xa82j", + "title": "行为面", + "url": "/zh/docs/career/interview-prep/bq" }, { - "id": "mnjkrtrs7xk3fq538eqreuge", - "title": "手写线程池", - "url": "/docs/computer-science/cpp_backend/Handwritten_pool_components/1_Handwritten_threadpool" + "id": "udm0daiek9dr22xq4doep5w4", + "title": "345. Voice letter in the reverse string.md", + "url": "/en/docs/career/interview-prep/leetcode/345-reverse-vowels-of-a-string" + }, + { + "id": "ue27z7z95yzw3lhhfj7nit1c", + "title": "Agent", + "url": "/zh/docs/learn/ai/agents-todo/agent-ecosystem" + }, + { + "id": "uguqyqpacxyj5irjickbt8n9", + "title": "杂项工具", + "url": "/zh/docs/learn/ai/misc-tools/learning-toolkit" }, { "id": "uzoqs57kwc4tfut4wvgnbjhf", "title": "2025年应届生前端需要学习什么", - "url": "/docs/computer-science/frontend/frontend-learning" + "url": "/zh/docs/learn/cs/frontend/frontend-learning" }, { - "id": "gpoh50befguf7zgsetzkvbi3", - "title": "信息论 (Information Theory)", - "url": "/docs/ai/ai-math-basics/information-theory" + "id": "v8m8kdjzzx7uhiz69r5m3m9o", + "title": "微积分与优化 (Calculus & Optimization)", + "url": "/zh/docs/learn/ai/ai-math-basics/calculus-optimization" + }, + { + "id": "vcfer8dvlt80se4kmbnshx7x", + "title": "AI 数学基础", + "url": "/zh/docs/learn/ai/ai-math-basics/math-foundations" + }, + { + "id": "vdclex41huib10ccsqw9u76k", + "title": "深度学习基础", + "url": "/zh/docs/learn/ai/llm-basics/deep-learning" + }, + { + "id": "vjwogf9afghpbvi71e4dfsgj", + "title": "王树森推荐系统学习笔记_排序", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note_rank" + }, + { + "id": "vti0bt2qlnr681msbk6igznc", + "title": "数据结构基础", + "url": "/zh/docs/learn/cs/data-structures" + }, + { + "id": "w9ffo1wycpbz50051cb7lyo5", + "title": "121.The best time for buying and selling stocks", + "url": "/en/docs/career/interview-prep/leetcode/121-best-time-to-buy-and-sell-stock" + }, + { + "id": "wdqqrepoy43jiieyyjmaekk1", + "title": "context engineering 快速了解", + "url": "/zh/docs/learn/ai/foundation-models/rag/context-engineering-intro" + }, + { + "id": "wen0bbo8m93oih1mx6sva9sh", + "title": "538.Convert the binary search tree to cumulative tree", + "url": "/en/docs/career/interview-prep/leetcode/538-convert-bst-to-greater-sum-tree" + }, + { + "id": "x3xs4hk0mc7lxlgbgskti5qk", + "title": "模型数据集平台", + "url": "/zh/docs/learn/ai/model-datasets-platforms/platform-and-datasets" + }, + { + "id": "xboc8qj2128aivvt0goo1wow", + "title": "大模型入门课程", + "url": "/zh/docs/learn/ai/llm-basics/courses" + }, + { + "id": "xd3q72ubqzlesz8x4gewhi5r", + "title": "ViT 视觉编码器", + "url": "/zh/docs/learn/ai/multimodal/vit" }, { - "id": "fzieiqiepxw9yfo2id9eham3", - "title": "fzieiqiepxw9yfo2id9eham3", - "url": "/docs/fzieiqiepxw9yfo2id9eham3" + "id": "xgxqqvglxyauoeh8eye7lzu6", + "title": "手写定长内存池", + "url": "/zh/docs/learn/cs/cpp-backend/handwritten-pool-components/2-handwritten-mempool1" + }, + { + "id": "xk44lx4q1gpcm1uqk8nnbg7q", + "title": "CMake", + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/4-cmake" + }, + { + "id": "xnl2yzrb4x748zhhfe26ragt", + "title": "Embedding模型", + "url": "/zh/docs/learn/ai/llm-basics/embeddings" + }, + { + "id": "xqz5iiv3p52h6d9g3c0w2baf", + "title": "常用Markdown语法", + "url": "/zh/docs/community/dev-tips/CommonUsedMarkdown" + }, + { + "id": "y0ntwlksnvj7ymuapqvkvmwr", + "title": "2894. 分类求和并作差", + "url": "/en/docs/career/interview-prep/leetcode/2894-divisible-and-non-divisible-sums-difference" + }, + { + "id": "y3xkz4kituc738jwsojo7cml", + "title": "frontend", + "url": "/zh/docs/learn/cs/frontend" + }, + { + "id": "ybczrbgxo5t4pl0erce7qz6w", + "title": "QwenVL", + "url": "/zh/docs/learn/ai/multimodal/qwenvl" + }, + { + "id": "ylpucy1rbbnfpe3t62u8kcfq", + "title": "142.Ring linkedII.md", + "url": "/en/docs/career/interview-prep/leetcode/142-linked-list-cycle-ii" + }, + { + "id": "ytg2bds2dnhzw37nrb3vassy", + "title": "1004.Maximum continuity1Number III Maximum continuity1Number III", + "url": "/en/docs/career/interview-prep/leetcode/1004-max-consecutive-ones-iii" + }, + { + "id": "yxd2qpfl2li6092bjx8bz7vb", + "title": "常用Katex语法", + "url": "/zh/docs/community/dev-tips/Katex" + }, + { + "id": "z157s85hnz1y37tr28y2a8h2", + "title": "部署与推理", + "url": "/zh/docs/learn/ai/foundation-models/deploy-infer" + }, + { + "id": "zf8zk108oqbsg56xjyqb5txk", + "title": "PPO", + "url": "/zh/docs/learn/ai/reinforcement-learning/ppo" + }, + { + "id": "zte4s8s8ls4cs25mfrzyepfl", + "title": "多模态大模型", + "url": "/zh/docs/learn/ai/multimodal/multimodal-overview" + }, + { + "id": "zuoplhoodv7tzfgku0pwzi6w", + "title": "1545. 找出第 N 个二进制字符串中的第 K 位", + "url": "/en/docs/career/interview-prep/leetcode/1545-find-kth-bit-in-nth-binary-string" + }, + { + "id": "zywri1bs64awfi9utfjy14ll", + "title": "RAG", + "url": "/zh/docs/learn/ai/foundation-models/rag/rag" + } + ], + "dailyCounts": { + "2026-05-06": 294, + "2025-12-04": 3, + "2025-12-05": 8, + "2025-09-26": 0, + "2025-12-06": 3, + "2025-12-07": 1 + } + }, + { + "id": "41898282", + "name": "github-actions[bot]", + "points": 1540, + "commits": 154, + "avatarUrl": "https://avatars.githubusercontent.com/u/41898282", + "contributedDocs": [ + { + "id": "a6inw303oslb7i5tcqj5xxx4", + "title": "2270. 分割数组的方案数", + "url": "/en/docs/career/interview-prep/leetcode/2270-number-of-ways-to-split-array" + }, + { + "id": "ai7cmwf4irjaobqf7uokj3b4", + "title": "数组", + "url": "/zh/docs/learn/cs/data-structures/array" + }, + { + "id": "as876rdhtmpnyyeclxt226s1", + "title": "推荐系统", + "url": "/zh/docs/learn/ai/recommender-systems/recommender-roadmap" + }, + { + "id": "aslw60tfyzxqga598pt4ociu", + "title": "Leetcode 题解汇总", + "url": "/zh/docs/career/interview-prep/leetcode" + }, + { + "id": "axhoyzdtxoc82q58j1os57c8", + "title": "994.Rotten orange.md", + "url": "/en/docs/career/interview-prep/leetcode/994-rotting-oranges" + }, + { + "id": "ba5lqs2zg1jqc30qzw3osm9v", + "title": "线性代数参考资料", + "url": "/zh/docs/learn/ai/ai-math-basics/linear-algebra/resources" + }, + { + "id": "bkxwg1m9p9rnm8062wsm020w", + "title": "AI小镇策划", + "url": "/zh/docs/projects/ai-town" + }, + { + "id": "bsf0yz1zrmlz7masrdmq8fq6", + "title": "1653. The minimum number of times to balance the string balance.md", + "url": "/en/docs/career/interview-prep/leetcode/1653-minimum-deletions-to-make-string-balanced" + }, + { + "id": "bvccoatft6y7bph83oivdcfe", + "title": "王树森推荐系统学习笔记_冷启动", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note_coldstart" + }, + { + "id": "c3a4nmid9plytif5ameigj7d", + "title": "王树森推荐系统学习笔记_召回", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note/wangshusen_recommend_note_retrieval" + }, + { + "id": "cgo4lweflk5jx1hsncr8hshk", + "title": "面试前必看:掌握这四个小技巧,你的成功率会大大增加", + "url": "/zh/docs/career/interview-prep/pre-interview" + }, + { + "id": "chb8ee5s38v8gh751n9e5znj", + "title": "1828. Statistics the number of a circle mid -point One question daily", + "url": "/en/docs/career/interview-prep/leetcode/1828-queries-on-number-of-points-inside-a-circle" + }, + { + "id": "clx9mmqqvxipdfamqciuo146", + "title": "2679.In the matrix and the harmony.md", + "url": "/en/docs/career/interview-prep/leetcode/2679-sum-in-a-matrix" + }, + { + "id": "crr0001index2026041800000001", + "title": "Career", + "url": "/zh/docs/career" + }, + { + "id": "d5evrnoglwjvmyginjq84bl0", + "title": "93. 复原 IP 地址", + "url": "/en/docs/career/interview-prep/leetcode/93-restore-ip-addresses" + }, + { + "id": "d5fya0gd1w8vblv8qeqgnqtu", + "title": "概率论与数理统计 (Probability & Statistics)", + "url": "/zh/docs/learn/ai/ai-math-basics/probability-statistics" + }, + { + "id": "d73h3kyjnzytk1y2nizulyr6", + "title": "算力平台", + "url": "/zh/docs/learn/ai/compute-platforms/compute-platforms-handbook" + }, + { + "id": "db3qwg25h6l0bh8f2sdabdqc", + "title": "Theory of MoE", + "url": "/zh/docs/learn/ai/MoE/moe-update" + }, + { + "id": "dqg4iqz7hgyq38cqz3tg9tlf", + "title": "李沐动手学深度学习", + "url": "/zh/docs/learn/ai/llm-basics/deep-learning/d2l" + }, + { + "id": "e6udpzrorhvgeeda6xpy1e0s", + "title": "如何部署你自己的Github图床-PictureCDN", + "url": "/zh/docs/community/dev-tips/picturecdn" + }, + { + "id": "ebgss2sa91drisxswsh6iu8x", + "title": "数值分析 (Numerical Analysis)", + "url": "/zh/docs/learn/ai/ai-math-basics/numerical-analysis" + }, + { + "id": "eej2awin6irhbdgcy8vvs3xb", + "title": "Perplexity Comet 浏览器:能当私人管家的自动化浏览器", + "url": "/zh/docs/community/tools/perplexity-comet" + }, + { + "id": "egpawb1yui58yprrsgxn9qj2", + "title": "数据集构建", + "url": "/zh/docs/learn/ai/foundation-models/datasets" + }, + { + "id": "eo5rwumxkh7twfdvlp5po9rc", + "title": "CS294/194-196 Large Language Model Agents", + "url": "/zh/docs/learn/ai/agents-todo/cs294-194-196" + }, + { + "id": "eyd32o3ebd5q69hfbb2enxqi", + "title": "嵌入模型微调入门知识", + "url": "/zh/docs/learn/ai/foundation-models/rag/embedding" + }, + { + "id": "fkk8ghklsr15a0s3vcxnswnj", + "title": "面试阶段逐关击破 | OA刷题血泪史 + VI分数偷看技巧 + 群面套路合集", + "url": "/zh/docs/career/interview-prep/interview-tips" + }, + { + "id": "fostlzqqx6l10qz1egd8dw5m", + "title": "Counting Stars — 校际编程竞赛", + "url": "/zh/docs/career/interview-prep/leetcode/counting-stars-inter-uni-programming-contest" + }, + { + "id": "fxn6bn619g3a9l98l9vggpg1", + "title": "One question daily 2299. Code inspection device II", + "url": "/en/docs/career/interview-prep/leetcode/2299-strong-password-checker-ii" + }, + { + "id": "g6wucmr69lamd9xyxm7uunnd", + "title": "Make编译", + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/3-make" + }, + { + "id": "gc6tdzkkwxn5t90nw69fibl6", + "title": "MLLM 多模态大模型", + "url": "/zh/docs/learn/ai/multimodal/mllm" + }, + { + "id": "gj4bn01un0s0841berfvwrn5", + "title": "使用 Cloudflare R2 + ShareX 搭建个人/团队专属“永久”图床", + "url": "/zh/docs/community/dev-tips/cloudflare-r2-sharex-free-image-hosting" + }, + { + "id": "gpoh50befguf7zgsetzkvbi3", + "title": "信息论 (Information Theory)", + "url": "/zh/docs/learn/ai/ai-math-basics/information-theory" + }, + { + "id": "gtqamuq3tftmvzstbunkgbo5", + "title": "vcpkg包管理器", + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/5-vcpkg" + }, + { + "id": "h53uwefhlykt9ietsx9x0vtn", + "title": "Introduction of Multi-agents system(In any task you want)", + "url": "/zh/docs/learn/ai/Introduction-of-Multi-agents-system/introduction_of_multi-agents_system" + }, + { + "id": "h7s6nm7h5oqnhhdq9m1mgwwo", + "title": "经典面试QKV问题", + "url": "/zh/docs/learn/ai/foundation-models/qkv-interview" + }, + { + "id": "h8awdow89uicdy4kx9iimlta", + "title": "大模型基础", + "url": "/zh/docs/learn/ai/llm-basics/llm-foundations" + }, + { + "id": "hajz43iblku13mmevia8zrhv", + "title": "王树森推荐系统学习笔记_特征交叉", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_crossing" + }, + { + "id": "hiqhki2z4v6oy0jstrcs7im0", + "title": "2335. The shortest total time to be filled with a cup One question daily", + "url": "/en/docs/career/interview-prep/leetcode/2335-minimum-amount-of-time-to-fill-cups" + }, + { + "id": "i0xmpskau105p83vq35wnxls", + "title": "用闲置树莓派搭建一个Minecraft服务器", + "url": "/zh/docs/community/dev-tips/raspberry-guide" + }, + { + "id": "i88bna4sg5pr4ekhg32drv2i", + "title": "基座大模型", + "url": "/zh/docs/learn/ai/foundation-models/foundation-models-lifecycle" + }, + { + "id": "ifwz8sqxqsgjrafa79pycrcm", + "title": "多模态强化学习项目(MVP 目标)", + "url": "/zh/docs/projects/multimodal-rl" + }, + { + "id": "ix9azldhgm46j4i1xzgnd26r", + "title": "AI 知识库", + "url": "/zh/docs/learn/ai" + }, + { + "id": "jcqhknk5z2xr3rfqn49me4j9", + "title": "1333.Restaurant filter", + "url": "/en/docs/career/interview-prep/leetcode/1333-filter-restaurants-by-vegan-friendly-price-and-distance" + }, + { + "id": "jee9yt8n8tmo8yclqujerw2x", + "title": "技术分享", + "url": "/zh/docs/community/dev-tips" + }, + { + "id": "jgyg6bp0nceyrxirz5qw3zsv", + "title": "UNSW学费回收计划-那些你还不知道的隐藏福利", + "url": "/zh/docs/community/life/unsw-student-benefit" + }, + { + "id": "jgz0nl0cbd4frj2dg98mdv0x", + "title": "模型训练", + "url": "/zh/docs/learn/ai/foundation-models/training" + }, + { + "id": "jq6323xynmyapm5vgncmyymh", + "title": "Qwen3-embedding", + "url": "/zh/docs/learn/ai/llm-basics/embeddings/qwen3-embedding" + }, + { + "id": "jv8qj3ljyr2uomaehnv0l77k", + "title": "42. 接雨水", + "url": "/en/docs/career/interview-prep/leetcode/42-trapping-rain-water" + }, + { + "id": "k1owc5kfw3vihc5hnmysqttl", + "title": "AI by Hand:手搓 AI 模型", + "url": "/zh/docs/learn/ai/llm-basics/transformer/ai-by-hand" + }, + { + "id": "k4btd9x3l3xnnl4dnr64d8cq", + "title": "219.Existing duplicate elements II Hash table graphics", + "url": "/en/docs/career/interview-prep/leetcode/219-contains-duplicate-ii" + }, + { + "id": "k6cgwcc28l9iap5s5oyjbjwo", + "title": "VAE学习笔记", + "url": "/zh/docs/learn/ai/multimodal/VAE" + }, + { + "id": "khcrztruqdku9fntd3dwzvwe", + "title": "数学公式语法", + "url": "/zh/docs/community/dev-tips/Katex/Seb2" + }, + { + "id": "ksjj9shalh6hqezx6t6am5vw", + "title": "Computer Science", + "url": "/zh/docs/learn/cs" + }, + { + "id": "ksw2vic4alf1tdnnueay81g8", + "title": "2131. 连接两字母单词得到的最长回文串", + "url": "/en/docs/career/interview-prep/leetcode/2131-longest-palindrome-by-concatenating-two-letter-words" + }, + { + "id": "kw44if3s2zi4w2gs1gfhxvoz", + "title": "6323. Child that divides money the most.md", + "url": "/en/docs/career/interview-prep/leetcode/6323-distribute-money-to-maximum-children" + }, + { + "id": "kyu85av71b4n07hbdycbhvj9", + "title": "基础gcc/g++", + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/2-base-gcc" + }, + { + "id": "kzi6k1yg1sehlxidnxdsf59a", + "title": "Recommended Books on Mathematics and Data Science", + "url": "/zh/docs/learn/ai/ai-math-basics/math_books" + }, + { + "id": "l1kvojw2gvggxflrmzc7j7sm", + "title": "线性代数 (Linear Algebra)", + "url": "/zh/docs/learn/ai/ai-math-basics/linear-algebra" + }, + { + "id": "l358imxaj1mmtth6dydvu54s", + "title": "76Minimum cover string.md", + "url": "/en/docs/career/interview-prep/leetcode/76-minimum-window-substring" + }, + { + "id": "l5nes88zd54y6ao64ufkylz2", + "title": "模型微调", + "url": "/zh/docs/learn/ai/foundation-models/finetune" + }, + { + "id": "l6eepr5ctjgrhdgupy3twr1t", + "title": "Prompt Repetition Improves Non-Reasoning LLMs", + "url": "/zh/docs/community/papers/prompt-repetition-improves-non-reasoning-llms" + }, + { + "id": "ld59a8z1v84ig4rlr0p0n2a9", + "title": "资深科技大厂程序员Coffee Chat回顾", + "url": "/zh/docs/career/events/coffee-chat" + }, + { + "id": "lndxpf7luoeqwwde4in23xr1", + "title": "模型评测", + "url": "/zh/docs/learn/ai/foundation-models/evaluation" + }, + { + "id": "lnx1bszj5aqqqfa50sejjv7n", + "title": "2639. Query the width of each column in the grid diagram.md", + "url": "/en/docs/career/interview-prep/leetcode/2639-find-column-width-of-grid" + }, + { + "id": "lodydcd211esraq1r55ze9ey", + "title": "其他资料", + "url": "/zh/docs/learn/ai/llm-basics/deep-learning/misc" + }, + { + "id": "lrn0001index2026041800000001", + "title": "Learn", + "url": "/zh/docs/learn" + }, + { + "id": "lsokl8ofmo7msxlqyvihbhz5", + "title": "Transformer", + "url": "/zh/docs/learn/ai/llm-basics/transformer" + }, + { + "id": "lzrh7ftq3kegsyx8gimonrfu", + "title": "2241. 设计 ATM 机器", + "url": "/en/docs/career/interview-prep/leetcode/2241-design-an-atm-machine" }, { - "id": "kzi6k1yg1sehlxidnxdsf59a", - "title": "Recommended Books on Mathematics and Data Science", - "url": "/docs/ai/ai-math-basics/math_books" + "id": "m37j6a24hb9mlrm0g6jfcxop", + "title": "PTE-Academic题型与题量介绍", + "url": "/zh/docs/community/language/pte-intro" }, { - "id": "h53uwefhlykt9ietsx9x0vtn", - "title": "Introduction of Multi-agents system(In any task you want)", - "url": "/docs/ai/Introduction-of-Multi-agents-system/introduction_of_multi-agents_system" + "id": "mc2rjsq7syibclikyhomsbft", + "title": ">-", + "url": "/en/docs/career/interview-prep/leetcode/2309-greatest-english-letter-in-upper-and-lower-case" }, { - "id": "hajz43iblku13mmevia8zrhv", - "title": "王树森推荐系统学习笔记_特征交叉", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_crossing" + "id": "mgb41edhi9cz1kxzae074an0", + "title": "学生邮箱能免费领的AI提效工具系列", + "url": "/zh/docs/community/tools" }, { - "id": "vjwogf9afghpbvi71e4dfsgj", - "title": "王树森推荐系统学习笔记_排序", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_note_rank" + "id": "mhyoknm6vj8jmp186oli5f5c", + "title": "swanlab快速上手指南", + "url": "/zh/docs/community/tools/swanlab" }, { - "id": "sfzt30mtx0jsuv6esnpm3w8y", - "title": "群友分享", - "url": "/docs/CommunityShare" + "id": "mnjkrtrs7xk3fq538eqreuge", + "title": "手写线程池", + "url": "/zh/docs/learn/cs/cpp-backend/handwritten-pool-components/1-handwritten-threadpool" }, { - "id": "m37j6a24hb9mlrm0g6jfcxop", - "title": "PTE-Academic题型与题量介绍", - "url": "/docs/CommunityShare/Language/pte-intro" + "id": "mssz5wgh368yp55qcvs1op5e", + "title": "One question daily 2293. Great mini game", + "url": "/en/docs/career/interview-prep/leetcode/2293-min-max-game" }, { - "id": "jgyg6bp0nceyrxirz5qw3zsv", - "title": "UNSW学费回收计划-那些你还不知道的隐藏福利", - "url": "/docs/CommunityShare/Life/unsw-student-benefit" + "id": "mxt0ux1zpbzph4nuxz51eyg7", + "title": "46. 全排列", + "url": "/en/docs/career/interview-prep/leetcode/46-permutations" }, { - "id": "rxyvvumcvfl2oh3hky8urkfn", - "title": "心理健康", - "url": "/docs/CommunityShare/MentalHealth" + "id": "n38sohi8zlxesl82tgv854kj", + "title": "1825. Seek out MK average value", + "url": "/en/docs/career/interview-prep/leetcode/1825-mk-average" }, { - "id": "q8d1j9bii2ve2p7pp4xtok79", - "title": "程序员 Burnout 自救指南", - "url": "/docs/CommunityShare/MentalHealth/burnout-guide" + "id": "naxatag8x2nnvkhbwdfc1azc", + "title": "2562.Find the series of the array", + "url": "/en/docs/career/interview-prep/leetcode/2562-find-the-array-concatenation-value" }, { - "id": "gtqamuq3tftmvzstbunkgbo5", - "title": "vcpkg包管理器", - "url": "/docs/computer-science/cpp_backend/easy_compile/5_vcpkg" + "id": "nor5ktairygnt4dorqbddo9n", + "title": "生成模型", + "url": "/zh/docs/learn/ai/generative-todo/generative-models-plan" }, { - "id": "q8290wmhyofuiskzn1ph63ta", - "title": "手写内存池(简单定长)", - "url": "/docs/computer-science/cpp_backend/mempool_simple" + "id": "nrelvvfzq0gma7pqfx9fkfxt", + "title": "NLP", + "url": "/zh/docs/learn/ai/llm-basics/deep-learning/nlp" }, { - "id": "zf8zk108oqbsg56xjyqb5txk", - "title": "PPO", - "url": "/docs/CommunityShare/Personal-Study-Notes/Reinforcement-Learning/ppo" + "id": "ns7q5ehuje6oiua7as6rtnyf", + "title": "算力需求指南", + "url": "/zh/docs/learn/ai/compute-platforms/model-compuational-resource-demand" }, { - "id": "wdqqrepoy43jiieyyjmaekk1", - "title": "context engineering 快速了解", - "url": "/docs/CommunityShare/RAG/context_engineering_intro" + "id": "nwt5322vw4q6sz8ho8qynv28", + "title": "CUDA", + "url": "/zh/docs/learn/ai/llm-basics/cuda" }, { - "id": "cgo4lweflk5jx1hsncr8hshk", - "title": "面试前必看:掌握这四个小技巧,你的成功率会大大增加", - "url": "/docs/jobs/interview-prep/pre-interview" + "id": "o3knuvbpnki6isfjv3g5ohau", + "title": "3138. 同位字符串连接的最小长度", + "url": "/en/docs/career/interview-prep/leetcode/3138-minimum-length-of-anagram-concatenation" }, { - "id": "pne40puz5alzsf0f5jb0frbm", - "title": "程序员学生时期求职与实习经验分享", - "url": "/docs/jobs/interview-prep/preparations-to-get-an-offer-as-a-student" + "id": "ol03smbujgwztho45ycj52ah", + "title": "王树森推荐系统学习笔记_重排", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note_rerank" }, { - "id": "e7hcn9xwnicxj6smk2zijhyj", - "title": "e7hcn9xwnicxj6smk2zijhyj", - "url": "/docs/e7hcn9xwnicxj6smk2zijhyj" + "id": "one7va4e0hvbq1eqhm6ww2kd", + "title": "brief_alternate Assignment", + "url": "/zh/docs/career/interview-prep/leetcode/briefalternate-zuo-ye-bang-mang-translated" }, { - "id": "gj4bn01un0s0841berfvwrn5", - "title": "使用 Cloudflare R2 + ShareX 搭建个人/团队专属“永久”图床", - "url": "/docs/CommunityShare/Geek/cloudflare-r2-sharex-free-image-hosting" + "id": "otfiks0uz3aue1bdvlyqmj3e", + "title": "VQ-VAE学习笔记", + "url": "/zh/docs/learn/ai/multimodal/VQVAE" }, { - "id": "e6udpzrorhvgeeda6xpy1e0s", - "title": "如何部署你自己的Github图床-PictureCDN", - "url": "/docs/CommunityShare/Geek/picturecdn" + "id": "p8igr19xfxnuyo2lpngnr6fg", + "title": "1234. Replace the sub -string to get a balanced string One question daily", + "url": "/en/docs/career/interview-prep/leetcode/1234-replace-substring-for-balanced-string" }, { - "id": "eej2awin6irhbdgcy8vvs3xb", - "title": "Perplexity Comet 浏览器:能当私人管家的自动化浏览器", - "url": "/docs/CommunityShare/Amazing-AI-Tools/perplexity-comet" + "id": "p9gvb8klqv990cq88j4l76zy", + "title": "2582.Pillow", + "url": "/en/docs/career/interview-prep/leetcode/2582-pass-the-pillow" }, { - "id": "fkk8ghklsr15a0s3vcxnswnj", - "title": "面试阶段逐关击破 | OA刷题血泪史 + VI分数偷看技巧 + 群面套路合集", - "url": "/docs/jobs/interview-prep/interview-tips" + "id": "pe6o8l76945uo7aqv79ddhii", + "title": "2490Return ring sentence", + "url": "/en/docs/career/interview-prep/leetcode/2490-circular-sentence" }, { - "id": "u68pjetu592c9zvs3f5xa82j", - "title": "行为面", - "url": "/docs/jobs/interview-prep/bq" + "id": "pffzdgytknyhaywar8uzyf2e", + "title": "LLaVA", + "url": "/zh/docs/learn/ai/multimodal/llava" }, { - "id": "y3xkz4kituc738jwsojo7cml", - "title": "frontend", - "url": "/docs/computer-science/frontend" + "id": "pmrtokz6393ywte5zqeskpm0", + "title": "多模态基础课程", + "url": "/zh/docs/learn/ai/multimodal/courses" }, { - "id": "oq51tbwpnbtow0ps5772fqx3", - "title": "oq51tbwpnbtow0ps5772fqx3", - "url": "/docs/oq51tbwpnbtow0ps5772fqx3" + "id": "pne40puz5alzsf0f5jb0frbm", + "title": "程序员学生时期求职与实习经验分享", + "url": "/zh/docs/career/interview-prep/preparations-to-get-an-offer-as-a-student" }, { - "id": "p8igr19xfxnuyo2lpngnr6fg", - "title": "1234. Replace the sub -string to get a balanced string One question daily", - "url": "/docs/CommunityShare/Leetcode/1234. 替换子串得到平衡字符串_translated" + "id": "pqplmwaj5o5aszydqo1drzrj", + "title": "RQ-VAE学习笔记", + "url": "/zh/docs/learn/ai/multimodal/RQVAE" }, { - "id": "vxbdpfd2w2dsb7cjpo2yfdiy", - "title": "vxbdpfd2w2dsb7cjpo2yfdiy", - "url": "/docs/vxbdpfd2w2dsb7cjpo2yfdiy" + "id": "prj0001index2026041800000001", + "title": "Projects", + "url": "/zh/docs/projects" }, { - "id": "a747alkg4ye6udm40d978la5", - "title": "a747alkg4ye6udm40d978la5", - "url": "/docs/a747alkg4ye6udm40d978la5" + "id": "psc0xf6oa1m7g8s9wfwiojkf", + "title": "PyTorch", + "url": "/zh/docs/learn/ai/llm-basics/pytorch" }, { - "id": "s3w19zdm6yhkhj4o0ba3kbal", - "title": "2341. How much can the array be formed One question daily", - "url": "/docs/CommunityShare/Leetcode/2341. 数组能形成多少数对_translated" + "id": "q7kagbrpnek7b89axvssn4bo", + "title": "概率论与统计学参考资料", + "url": "/zh/docs/learn/ai/ai-math-basics/probability-statistics/resources" }, { - "id": "kfx1v64fqfayg8dbu83jxqbs", - "title": "kfx1v64fqfayg8dbu83jxqbs", - "url": "/docs/kfx1v64fqfayg8dbu83jxqbs" + "id": "q8290wmhyofuiskzn1ph63ta", + "title": "手写内存池(简单定长)", + "url": "/zh/docs/learn/cs/cpp-backend/mempool-simple" }, { - "id": "zuoplhoodv7tzfgku0pwzi6w", - "title": "1545. 找出第 N 个二进制字符串中的第 K 位", - "url": "/docs/CommunityShare/Leetcode/[1545]找出第 N 个二进制字符串中的第 K 位" + "id": "q8d1j9bii2ve2p7pp4xtok79", + "title": "程序员 Burnout 自救指南", + "url": "/zh/docs/community/mental-health/burnout-guide" }, { - "id": "l6eepr5ctjgrhdgupy3twr1t", - "title": "Prompt Repetition Improves Non-Reasoning LLMs", - "url": "/docs/CommunityShare/Amazing-AI-Tools/prompt-repetition-improves-non-reasoning-llms.zh" + "id": "qaezsrj15sudk796r5otne36", + "title": "Code translation入门推荐必读", + "url": "/zh/docs/learn/ai/Multi-agents-system-on-Code-Translation/code-translation-intro" }, { - "id": "rv6egbynttb4mt1n0412bue0", - "title": "213.Hiccup II", - "url": "/docs/CommunityShare/Leetcode/[213]打家劫舍 II_translated" + "id": "qftv72k0kzwiz8ddksbcl2aw", + "title": "MOE 浅谈", + "url": "/zh/docs/learn/ai/MoE/MOE-intro" }, { - "id": "qoieytihzsk9hz9pjj9i8zga", - "title": "qoieytihzsk9hz9pjj9i8zga", - "url": "/docs/qoieytihzsk9hz9pjj9i8zga" + "id": "qfvqmc1exp066falnsg97c5m", + "title": "Sword finger Offer II 021. Delete the countdown of the linked list n Node.md", + "url": "/en/docs/career/interview-prep/leetcode/sword-offer-ii-021-remove-nth-node-from-end-of-list" }, { - "id": "pe6o8l76945uo7aqv79ddhii", - "title": "2490Return ring sentence", - "url": "/docs/CommunityShare/Leetcode/[2490]回环句_translated" + "id": "qmy3p4vc45ek61ce4n62fpxy", + "title": "王树森推荐系统学习笔记_涨指标", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note_improvement" }, { - "id": "ylpucy1rbbnfpe3t62u8kcfq", - "title": "142.Ring linkedII.md", - "url": "/docs/CommunityShare/Leetcode/142.环形链表II_translated" + "id": "r0inttjcby48tly602p410vo", + "title": "个人常用字符", + "url": "/zh/docs/community/dev-tips/Katex/Seb1" }, { - "id": "jv8qj3ljyr2uomaehnv0l77k", - "title": "42.md", - "url": "/docs/CommunityShare/Leetcode/42" + "id": "r12u8o7j73oxhbvgphi939fb", + "title": "3072. Allocate elements into two arrays II.md", + "url": "/en/docs/career/interview-prep/leetcode/3072-distribute-elements-into-two-arrays-ii" }, { - "id": "k4btd9x3l3xnnl4dnr64d8cq", - "title": "219.Existing duplicate elements II Hash table graphics", - "url": "/docs/CommunityShare/Leetcode/219_translated" + "id": "r68izu11bkrkk6st194kwk80", + "title": "方法论学习", + "url": "/zh/docs/learn/ai/methodology/research-methodology" }, { - "id": "lzrh7ftq3kegsyx8gimonrfu", - "title": "2241. Design an ATM Machine.md", - "url": "/docs/CommunityShare/Leetcode/2241. Design an ATM Machine" + "id": "rv6egbynttb4mt1n0412bue0", + "title": "213.Hiccup II", + "url": "/en/docs/career/interview-prep/leetcode/213-house-robber-ii" }, { - "id": "ophdou1zfa1leum18ryhhnze", - "title": "ophdou1zfa1leum18ryhhnze", - "url": "/docs/ophdou1zfa1leum18ryhhnze" + "id": "rxyvvumcvfl2oh3hky8urkfn", + "title": "心理健康", + "url": "/zh/docs/community/mental-health" }, { - "id": "lnx1bszj5aqqqfa50sejjv7n", - "title": "2639. Query the width of each column in the grid diagram.md", - "url": "/docs/CommunityShare/Leetcode/2639. 查询网格图中每一列的宽度_translated" + "id": "ryp6s59uwc10w2dywgs6f66h", + "title": "Python beat98.40% collectionsofCounter method!", + "url": "/en/docs/career/interview-prep/leetcode/80-remove-duplicates-from-sorted-array-ii" }, { - "id": "d5evrnoglwjvmyginjq84bl0", - "title": "93. Restore IP Addresses", - "url": "/docs/CommunityShare/Leetcode/93复原Ip地址" + "id": "s0cadbu09dgu54q0zxttkx7z", + "title": "9021_TUT_3_25T1.md", + "url": "/en/docs/career/interview-prep/leetcode/9021-tut-3-25t1" }, { - "id": "naxatag8x2nnvkhbwdfc1azc", - "title": "2562.Find the series of the array", - "url": "/docs/CommunityShare/Leetcode/[2562]找出数组的串联值_translated" + "id": "s3w19zdm6yhkhj4o0ba3kbal", + "title": "2341. How much can the array be formed One question daily", + "url": "/en/docs/career/interview-prep/leetcode/2341-maximum-number-of-pairs-in-array" }, { - "id": "bsf0yz1zrmlz7masrdmq8fq6", - "title": "1653. The minimum number of times to balance the string balance.md", - "url": "/docs/CommunityShare/Leetcode/1653. 使字符串平衡的最少删除次数_translated" + "id": "s4fuhmdf6hj49jx1l7k87d4p", + "title": "强化学习", + "url": "/zh/docs/learn/ai/reinforcement-learning/reinforcement-learning-overview" }, { - "id": "p9gvb8klqv990cq88j4l76zy", - "title": "2582.Pillow", - "url": "/docs/CommunityShare/Leetcode/[2582]递枕头_translated" + "id": "s8w3d2p5k9m4h7z1x0c2a8r6", + "title": "求职活动回放站", + "url": "/zh/docs/career/events/event-takeway" }, { - "id": "g7ixeso22x7fzu24nv536nli", - "title": "g7ixeso22x7fzu24nv536nli", - "url": "/docs/g7ixeso22x7fzu24nv536nli" + "id": "sfzt30mtx0jsuv6esnpm3w8y", + "title": "群友分享", + "url": "/zh/docs/community" }, { - "id": "a6inw303oslb7i5tcqj5xxx4", - "title": "2270. Number of Ways to Split Array.md", - "url": "/docs/CommunityShare/Leetcode/2270. Number of Ways to Split Array" + "id": "ska0npc89ja1r4pdt2qow79u", + "title": "1664. Number of schemes to generate balance numbers One question daily", + "url": "/en/docs/career/interview-prep/leetcode/1664-ways-to-make-a-fair-array" }, { - "id": "qf5ppbjhcw3h5znx5rdnfeeg", - "title": "qf5ppbjhcw3h5znx5rdnfeeg", - "url": "/docs/qf5ppbjhcw3h5znx5rdnfeeg" + "id": "ssrhm03fw9sbogk78dmy92ml", + "title": "多模态视频大模型", + "url": "/zh/docs/learn/ai/multimodal/video-mm-todo" }, { - "id": "axhoyzdtxoc82q58j1os57c8", - "title": "994.Rotten orange.md", - "url": "/docs/CommunityShare/Leetcode/994.腐烂的橘子_translated" + "id": "tksz80mfqqyzwzzer5p3uxtg", + "title": "Git入门操作指南-程序员必会的git小技巧", + "url": "/zh/docs/community/dev-tips/git101" }, { - "id": "bqsh7d05pcadgkiatziwitqj", - "title": "bqsh7d05pcadgkiatziwitqj", - "url": "/docs/bqsh7d05pcadgkiatziwitqj" + "id": "totx4pej5lhyt1nl4anwhakj", + "title": "linux/win上的c++库", + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/1-cpp-libs" }, { - "id": "mxt0ux1zpbzph4nuxz51eyg7", - "title": "46.permutations", - "url": "/docs/CommunityShare/Leetcode/46.全排列" + "id": "u0szm4sv8mr3on3ivbfo5r84", + "title": "146.LRU cache", + "url": "/en/docs/career/interview-prep/leetcode/146-lru-cache" }, { - "id": "wen0bbo8m93oih1mx6sva9sh", - "title": "538.Convert the binary search tree to cumulative tree", - "url": "/docs/CommunityShare/Leetcode/538.把二叉搜索树转换为累加树_translated" + "id": "u68pjetu592c9zvs3f5xa82j", + "title": "行为面", + "url": "/zh/docs/career/interview-prep/bq" }, { - "id": "one7va4e0hvbq1eqhm6ww2kd", - "title": "brief_alternate Assignment", - "url": "/docs/CommunityShare/Leetcode/brief_alternate 作业帮忙_translated" + "id": "udm0daiek9dr22xq4doep5w4", + "title": "345. Voice letter in the reverse string.md", + "url": "/en/docs/career/interview-prep/leetcode/345-reverse-vowels-of-a-string" }, { - "id": "fostlzqqx6l10qz1egd8dw5m", - "title": "Counting Stars — 校际编程竞赛", - "url": "/docs/CommunityShare/Leetcode/counting-stars-inter-uni-programming-contest.zh" + "id": "ue27z7z95yzw3lhhfj7nit1c", + "title": "Agent", + "url": "/zh/docs/learn/ai/agents-todo/agent-ecosystem" }, { - "id": "l4db26ijmpeivh78a21981ia", - "title": "l4db26ijmpeivh78a21981ia", - "url": "/docs/l4db26ijmpeivh78a21981ia" + "id": "uguqyqpacxyj5irjickbt8n9", + "title": "杂项工具", + "url": "/zh/docs/learn/ai/misc-tools/learning-toolkit" }, { - "id": "clx9mmqqvxipdfamqciuo146", - "title": "2679.In the matrix and the harmony.md", - "url": "/docs/CommunityShare/Leetcode/2679.矩阵中的和_translated" + "id": "uzoqs57kwc4tfut4wvgnbjhf", + "title": "2025年应届生前端需要学习什么", + "url": "/zh/docs/learn/cs/frontend/frontend-learning" }, { - "id": "y0ntwlksnvj7ymuapqvkvmwr", - "title": "2894. 分类求和并作差", - "url": "/docs/CommunityShare/Leetcode/2894. 分类求和并作差" + "id": "v8m8kdjzzx7uhiz69r5m3m9o", + "title": "微积分与优化 (Calculus & Optimization)", + "url": "/zh/docs/learn/ai/ai-math-basics/calculus-optimization" }, { - "id": "qtjajlfj4fiu0t2r5diylce2", - "title": "qtjajlfj4fiu0t2r5diylce2", - "url": "/docs/qtjajlfj4fiu0t2r5diylce2" + "id": "vcfer8dvlt80se4kmbnshx7x", + "title": "AI 数学基础", + "url": "/zh/docs/learn/ai/ai-math-basics/math-foundations" }, { - "id": "g8kfo5yie617dl5xd78wph26", - "title": "g8kfo5yie617dl5xd78wph26", - "url": "/docs/g8kfo5yie617dl5xd78wph26" + "id": "vdclex41huib10ccsqw9u76k", + "title": "深度学习基础", + "url": "/zh/docs/learn/ai/llm-basics/deep-learning" }, { - "id": "ska0npc89ja1r4pdt2qow79u", - "title": "1664. Number of schemes to generate balance numbers One question daily", - "url": "/docs/CommunityShare/Leetcode/1664生成平衡数组的方案数_translated" + "id": "vjwogf9afghpbvi71e4dfsgj", + "title": "王树森推荐系统学习笔记_排序", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note_rank" }, { - "id": "kw44if3s2zi4w2gs1gfhxvoz", - "title": "6323. Child that divides money the most.md", - "url": "/docs/CommunityShare/Leetcode/6323. 将钱分给最多的儿童_translated" + "id": "vti0bt2qlnr681msbk6igznc", + "title": "数据结构基础", + "url": "/zh/docs/learn/cs/data-structures" }, { - "id": "l358imxaj1mmtth6dydvu54s", - "title": "76Minimum cover string.md", - "url": "/docs/CommunityShare/Leetcode/76最小覆盖子串_translated" + "id": "w9ffo1wycpbz50051cb7lyo5", + "title": "121.The best time for buying and selling stocks", + "url": "/en/docs/career/interview-prep/leetcode/121-best-time-to-buy-and-sell-stock" }, { - "id": "ryp6s59uwc10w2dywgs6f66h", - "title": "Python beat98.40% collectionsofCounter method!", - "url": "/docs/CommunityShare/Leetcode/80_translated" + "id": "wdqqrepoy43jiieyyjmaekk1", + "title": "context engineering 快速了解", + "url": "/zh/docs/learn/ai/foundation-models/rag/context-engineering-intro" }, { - "id": "aslw60tfyzxqga598pt4ociu", - "title": "Leetcode 题解汇总", - "url": "/docs/CommunityShare/Leetcode" + "id": "wen0bbo8m93oih1mx6sva9sh", + "title": "538.Convert the binary search tree to cumulative tree", + "url": "/en/docs/career/interview-prep/leetcode/538-convert-bst-to-greater-sum-tree" }, { - "id": "qfvqmc1exp066falnsg97c5m", - "title": "Sword finger Offer II 021. Delete the countdown of the linked list n Node.md", - "url": "/docs/CommunityShare/Leetcode/剑指 Offer II 021. 删除链表的倒数第 n 个结点_translated" + "id": "x3xs4hk0mc7lxlgbgskti5qk", + "title": "模型数据集平台", + "url": "/zh/docs/learn/ai/model-datasets-platforms/platform-and-datasets" }, { - "id": "q8xu78dx8qo5bkd3dnbv8mzr", - "title": "q8xu78dx8qo5bkd3dnbv8mzr", - "url": "/docs/q8xu78dx8qo5bkd3dnbv8mzr" + "id": "xboc8qj2128aivvt0goo1wow", + "title": "大模型入门课程", + "url": "/zh/docs/learn/ai/llm-basics/courses" }, { - "id": "w9ffo1wycpbz50051cb7lyo5", - "title": "121.The best time for buying and selling stocks", - "url": "/docs/CommunityShare/Leetcode/[121]买卖股票的最佳时期_translated" + "id": "xd3q72ubqzlesz8x4gewhi5r", + "title": "ViT 视觉编码器", + "url": "/zh/docs/learn/ai/multimodal/vit" }, { - "id": "jcqhknk5z2xr3rfqn49me4j9", - "title": "1333.Restaurant filter", - "url": "/docs/CommunityShare/Leetcode/[1333]餐厅过滤器_translated" + "id": "xgxqqvglxyauoeh8eye7lzu6", + "title": "手写定长内存池", + "url": "/zh/docs/learn/cs/cpp-backend/handwritten-pool-components/2-handwritten-mempool1" }, { - "id": "n38sohi8zlxesl82tgv854kj", - "title": "1825. Seek out MK average value", - "url": "/docs/CommunityShare/Leetcode/1825求出 MK 平均值_translated" + "id": "xk44lx4q1gpcm1uqk8nnbg7q", + "title": "CMake", + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/4-cmake" }, { - "id": "r12u8o7j73oxhbvgphi939fb", - "title": "3072. Allocate elements into two arrays II.md", - "url": "/docs/CommunityShare/Leetcode/3072. 将元素分配到两个数组中 II_translated" + "id": "xnl2yzrb4x748zhhfe26ragt", + "title": "Embedding模型", + "url": "/zh/docs/learn/ai/llm-basics/embeddings" }, { - "id": "o3knuvbpnki6isfjv3g5ohau", - "title": "3138. Minimum Length of Anagram Concatenation.md", - "url": "/docs/CommunityShare/Leetcode/3138. Minimum Length of Anagram Concatenation" + "id": "xqz5iiv3p52h6d9g3c0w2baf", + "title": "常用Markdown语法", + "url": "/zh/docs/community/dev-tips/CommonUsedMarkdown" }, { - "id": "s0cadbu09dgu54q0zxttkx7z", - "title": "9021_TUT_3_25T1.md", - "url": "/docs/CommunityShare/Leetcode/9021_TUT_3_25T1" + "id": "y0ntwlksnvj7ymuapqvkvmwr", + "title": "2894. 分类求和并作差", + "url": "/en/docs/career/interview-prep/leetcode/2894-divisible-and-non-divisible-sums-difference" }, { - "id": "mssz5wgh368yp55qcvs1op5e", - "title": "One question daily 2293. Great mini game", - "url": "/docs/CommunityShare/Leetcode/2293_translated" + "id": "y3xkz4kituc738jwsojo7cml", + "title": "frontend", + "url": "/zh/docs/learn/cs/frontend" }, { - "id": "ld59a8z1v84ig4rlr0p0n2a9", - "title": "资深科技大厂程序员Coffee Chat回顾", - "url": "/docs/jobs/event-keynote/coffee-chat" + "id": "ybczrbgxo5t4pl0erce7qz6w", + "title": "QwenVL", + "url": "/zh/docs/learn/ai/multimodal/qwenvl" }, { - "id": "chb8ee5s38v8gh751n9e5znj", - "title": "1828. Statistics the number of a circle mid -point One question daily", - "url": "/docs/CommunityShare/Leetcode/1828统计一个圆中点的数目_translated" + "id": "ylpucy1rbbnfpe3t62u8kcfq", + "title": "142.Ring linkedII.md", + "url": "/en/docs/career/interview-prep/leetcode/142-linked-list-cycle-ii" }, { - "id": "fxn6bn619g3a9l98l9vggpg1", - "title": "One question daily 2299. Code inspection device II", - "url": "/docs/CommunityShare/Leetcode/2299强密码检验器II_translated" + "id": "ytg2bds2dnhzw37nrb3vassy", + "title": "1004.Maximum continuity1Number III Maximum continuity1Number III", + "url": "/en/docs/career/interview-prep/leetcode/1004-max-consecutive-ones-iii" }, { - "id": "ksw2vic4alf1tdnnueay81g8", - "title": "2131. 连接两字母单词得到的最长回文串.md", - "url": "/docs/CommunityShare/Leetcode/2131. 连接两字母单词得到的最长回文串" + "id": "yxd2qpfl2li6092bjx8bz7vb", + "title": "常用Katex语法", + "url": "/zh/docs/community/dev-tips/Katex" }, { - "id": "u0szm4sv8mr3on3ivbfo5r84", - "title": "146.LRU cache", - "url": "/docs/CommunityShare/Leetcode/[146]LRU 缓存_translated" + "id": "z157s85hnz1y37tr28y2a8h2", + "title": "部署与推理", + "url": "/zh/docs/learn/ai/foundation-models/deploy-infer" }, { - "id": "ytg2bds2dnhzw37nrb3vassy", - "title": "1004.Maximum continuity1Number III Maximum continuity1Number III", - "url": "/docs/CommunityShare/Leetcode/1004_translated" + "id": "zf8zk108oqbsg56xjyqb5txk", + "title": "PPO", + "url": "/zh/docs/learn/ai/reinforcement-learning/ppo" }, { - "id": "mc2rjsq7syibclikyhomsbft", - "title": ">-", - "url": "/docs/CommunityShare/Leetcode/2309兼具大小写的最好英文字母_translated" + "id": "zte4s8s8ls4cs25mfrzyepfl", + "title": "多模态大模型", + "url": "/zh/docs/learn/ai/multimodal/multimodal-overview" }, { - "id": "udm0daiek9dr22xq4doep5w4", - "title": "345. Voice letter in the reverse string.md", - "url": "/docs/CommunityShare/Leetcode/345. 反转字符串中的元音字母_translated" + "id": "zuoplhoodv7tzfgku0pwzi6w", + "title": "1545. 找出第 N 个二进制字符串中的第 K 位", + "url": "/en/docs/career/interview-prep/leetcode/1545-find-kth-bit-in-nth-binary-string" }, { - "id": "hiqhki2z4v6oy0jstrcs7im0", - "title": "2335. The shortest total time to be filled with a cup One question daily", - "url": "/docs/CommunityShare/Leetcode/2335. 装满杯子需要的最短总时长_translated" + "id": "zywri1bs64awfi9utfjy14ll", + "title": "RAG", + "url": "/zh/docs/learn/ai/foundation-models/rag/rag" } ], "dailyCounts": { - "2025-09-26": 82, - "2025-10-26": 2, - "2025-10-25": 7, - "2025-10-08": 29, - "2025-10-27": 3, - "2025-12-05": 11, - "2025-11-09": 7, - "2025-12-04": 3, - "2025-12-13": 2, - "2026-03-09": 4, - "2026-04-11": 6, - "2025-11-14": 2, - "2025-12-07": 15, - "2025-12-11": 2, - "2025-12-10": 2, - "2025-11-23": 2, - "2025-12-09": 2, - "2025-11-24": 2, - "2025-12-17": 2, - "2025-11-12": 2, - "2025-12-03": 2, - "2025-11-13": 2, - "2025-11-25": 2, - "2025-11-20": 2, - "2025-11-15": 2, - "2025-12-06": 3, - "2025-12-12": 2, - "2025-12-18": 2, - "2026-01-10": 3, - "2025-11-11": 2, - "2025-11-10": 2, - "2025-11-17": 2, - "2025-11-19": 2, - "2025-12-14": 2, - "2025-12-16": 2, - "2025-11-27": 2, - "2025-11-22": 2, - "2025-11-26": 2, - "2025-11-21": 2, - "2025-12-01": 2, - "2025-12-08": 2, - "2025-11-16": 2, - "2025-11-18": 2, - "2025-11-29": 2 + "2026-05-11": 154 } }, { @@ -857,387 +1541,372 @@ "avatarUrl": "https://avatars.githubusercontent.com/u/163523387", "contributedDocs": [ { - "id": "h8awdow89uicdy4kx9iimlta", - "title": "大模型基础", - "url": "/docs/ai/llm-basics/llm-foundations" - }, - { - "id": "psc0xf6oa1m7g8s9wfwiojkf", - "title": "PyTorch", - "url": "/docs/ai/llm-basics/pytorch" - }, - { - "id": "k1owc5kfw3vihc5hnmysqttl", - "title": "AI by Hand:手搓 AI 模型", - "url": "/docs/ai/llm-basics/transformer/ai-by-hand" - }, - { - "id": "lsokl8ofmo7msxlqyvihbhz5", - "title": "Transformer", - "url": "/docs/ai/llm-basics/transformer" + "id": "as876rdhtmpnyyeclxt226s1", + "title": "推荐系统", + "url": "/zh/docs/learn/ai/recommender-systems/recommender-roadmap" }, { - "id": "r68izu11bkrkk6st194kwk80", - "title": "方法论学习", - "url": "/docs/ai/methodology/research-methodology" + "id": "ba5lqs2zg1jqc30qzw3osm9v", + "title": "线性代数参考资料", + "url": "/zh/docs/learn/ai/ai-math-basics/linear-algebra/resources" }, { - "id": "uguqyqpacxyj5irjickbt8n9", - "title": "杂项工具", - "url": "/docs/ai/misc-tools/learning-toolkit" + "id": "bkxwg1m9p9rnm8062wsm020w", + "title": "AI小镇策划", + "url": "/zh/docs/projects/ai-town" }, { - "id": "x3xs4hk0mc7lxlgbgskti5qk", - "title": "模型数据集平台", - "url": "/docs/ai/model-datasets-platforms/platform-and-datasets" + "id": "bvccoatft6y7bph83oivdcfe", + "title": "王树森推荐系统学习笔记_冷启动", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note_coldstart" }, { - "id": "qaezsrj15sudk796r5otne36", - "title": "Code translation入门推荐必读", - "url": "/docs/ai/Multi-agents-system-on-Code-Translation/code-translation-intro" + "id": "c3a4nmid9plytif5ameigj7d", + "title": "王树森推荐系统学习笔记_召回", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note/wangshusen_recommend_note_retrieval" }, { - "id": "pmrtokz6393ywte5zqeskpm0", - "title": "多模态基础课程", - "url": "/docs/ai/multimodal/courses" + "id": "cgo4lweflk5jx1hsncr8hshk", + "title": "面试前必看:掌握这四个小技巧,你的成功率会大大增加", + "url": "/zh/docs/career/interview-prep/pre-interview" }, { - "id": "pffzdgytknyhaywar8uzyf2e", - "title": "LLaVA", - "url": "/docs/ai/multimodal/llava" + "id": "d5fya0gd1w8vblv8qeqgnqtu", + "title": "概率论与数理统计 (Probability & Statistics)", + "url": "/zh/docs/learn/ai/ai-math-basics/probability-statistics" }, { - "id": "gc6tdzkkwxn5t90nw69fibl6", - "title": "MLLM 多模态大模型", - "url": "/docs/ai/multimodal/mllm" + "id": "d73h3kyjnzytk1y2nizulyr6", + "title": "算力平台", + "url": "/zh/docs/learn/ai/compute-platforms/compute-platforms-handbook" }, { - "id": "zte4s8s8ls4cs25mfrzyepfl", - "title": "多模态大模型", - "url": "/docs/ai/multimodal/multimodal-overview" + "id": "db3qwg25h6l0bh8f2sdabdqc", + "title": "Theory of MoE", + "url": "/zh/docs/learn/ai/MoE/moe-update" }, { - "id": "ix9azldhgm46j4i1xzgnd26r", - "title": "AI 知识库", - "url": "/docs/ai" + "id": "dqg4iqz7hgyq38cqz3tg9tlf", + "title": "李沐动手学深度学习", + "url": "/zh/docs/learn/ai/llm-basics/deep-learning/d2l" }, { - "id": "ssrhm03fw9sbogk78dmy92ml", - "title": "多模态视频大模型", - "url": "/docs/ai/multimodal/video-mm-todo" + "id": "ebgss2sa91drisxswsh6iu8x", + "title": "数值分析 (Numerical Analysis)", + "url": "/zh/docs/learn/ai/ai-math-basics/numerical-analysis" }, { - "id": "xd3q72ubqzlesz8x4gewhi5r", - "title": "ViT 视觉编码器", - "url": "/docs/ai/multimodal/vit" + "id": "egpawb1yui58yprrsgxn9qj2", + "title": "数据集构建", + "url": "/zh/docs/learn/ai/foundation-models/datasets" }, { - "id": "as876rdhtmpnyyeclxt226s1", - "title": "推荐系统", - "url": "/docs/ai/recommender-systems/recommender-roadmap" + "id": "eo5rwumxkh7twfdvlp5po9rc", + "title": "CS294/194-196 Large Language Model Agents", + "url": "/zh/docs/learn/ai/agents-todo/cs294-194-196" }, { - "id": "c3a4nmid9plytif5ameigj7d", - "title": "王树森推荐系统学习笔记_召回", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_note/wangshusen_recommend_note_retrieval" + "id": "eyd32o3ebd5q69hfbb2enxqi", + "title": "嵌入模型微调入门知识", + "url": "/zh/docs/learn/ai/foundation-models/rag/embedding" }, { - "id": "s4fuhmdf6hj49jx1l7k87d4p", - "title": "强化学习", - "url": "/docs/ai/reinforcement-learning/reinforcement-learning-overview" + "id": "fkk8ghklsr15a0s3vcxnswnj", + "title": "面试阶段逐关击破 | OA刷题血泪史 + VI分数偷看技巧 + 群面套路合集", + "url": "/zh/docs/career/interview-prep/interview-tips" }, { - "id": "tksz80mfqqyzwzzer5p3uxtg", - "title": "Git入门操作指南-程序员必会的git小技巧", - "url": "/docs/CommunityShare/Geek/git101" + "id": "gc6tdzkkwxn5t90nw69fibl6", + "title": "MLLM 多模态大模型", + "url": "/zh/docs/learn/ai/multimodal/mllm" }, { - "id": "mhyoknm6vj8jmp186oli5f5c", - "title": "swanlab快速上手指南", - "url": "/docs/CommunityShare/Geek/swanlab" + "id": "gpoh50befguf7zgsetzkvbi3", + "title": "信息论 (Information Theory)", + "url": "/zh/docs/learn/ai/ai-math-basics/information-theory" }, { - "id": "eyd32o3ebd5q69hfbb2enxqi", - "title": "嵌入模型微调入门知识", - "url": "/docs/CommunityShare/RAG/embedding" + "id": "h7s6nm7h5oqnhhdq9m1mgwwo", + "title": "经典面试QKV问题", + "url": "/zh/docs/learn/ai/foundation-models/qkv-interview" }, { - "id": "zywri1bs64awfi9utfjy14ll", - "title": "RAG", - "url": "/docs/CommunityShare/RAG/rag" + "id": "h8awdow89uicdy4kx9iimlta", + "title": "大模型基础", + "url": "/zh/docs/learn/ai/llm-basics/llm-foundations" }, { - "id": "ba5lqs2zg1jqc30qzw3osm9v", - "title": "参考资料", - "url": "/docs/ai/ai-math-basics/linear-algebra/resources" + "id": "i88bna4sg5pr4ekhg32drv2i", + "title": "基座大模型", + "url": "/zh/docs/learn/ai/foundation-models/foundation-models-lifecycle" }, { - "id": "eo5rwumxkh7twfdvlp5po9rc", - "title": "CS294/194-196 Large Language Model Agents", - "url": "/docs/ai/agents-todo/cs294-194-196" + "id": "ifwz8sqxqsgjrafa79pycrcm", + "title": "多模态强化学习项目(MVP 目标)", + "url": "/zh/docs/projects/multimodal-rl" }, { - "id": "v8m8kdjzzx7uhiz69r5m3m9o", - "title": "微积分与优化 (Calculus & Optimization)", - "url": "/docs/ai/ai-math-basics/calculus-optimization" + "id": "ix9azldhgm46j4i1xzgnd26r", + "title": "AI 知识库", + "url": "/zh/docs/learn/ai" }, { - "id": "gpoh50befguf7zgsetzkvbi3", - "title": "信息论 (Information Theory)", - "url": "/docs/ai/ai-math-basics/information-theory" + "id": "jgyg6bp0nceyrxirz5qw3zsv", + "title": "UNSW学费回收计划-那些你还不知道的隐藏福利", + "url": "/zh/docs/community/life/unsw-student-benefit" }, { - "id": "l1kvojw2gvggxflrmzc7j7sm", - "title": "线性代数 (Linear Algebra)", - "url": "/docs/ai/ai-math-basics/linear-algebra" + "id": "jgz0nl0cbd4frj2dg98mdv0x", + "title": "模型训练", + "url": "/zh/docs/learn/ai/foundation-models/training" }, { - "id": "vcfer8dvlt80se4kmbnshx7x", - "title": "AI 数学基础", - "url": "/docs/ai/ai-math-basics/math-foundations" + "id": "jq6323xynmyapm5vgncmyymh", + "title": "Qwen3-embedding", + "url": "/zh/docs/learn/ai/llm-basics/embeddings/qwen3-embedding" }, { - "id": "ebgss2sa91drisxswsh6iu8x", - "title": "数值分析 (Numerical Analysis)", - "url": "/docs/ai/ai-math-basics/numerical-analysis" + "id": "k1owc5kfw3vihc5hnmysqttl", + "title": "AI by Hand:手搓 AI 模型", + "url": "/zh/docs/learn/ai/llm-basics/transformer/ai-by-hand" }, { - "id": "d5fya0gd1w8vblv8qeqgnqtu", - "title": "概率论与数理统计 (Probability & Statistics)", - "url": "/docs/ai/ai-math-basics/probability-statistics" + "id": "k6cgwcc28l9iap5s5oyjbjwo", + "title": "VAE学习笔记", + "url": "/zh/docs/learn/ai/multimodal/VAE" }, { - "id": "q7kagbrpnek7b89axvssn4bo", - "title": "参考资料", - "url": "/docs/ai/ai-math-basics/probability-statistics/resources" + "id": "l1kvojw2gvggxflrmzc7j7sm", + "title": "线性代数 (Linear Algebra)", + "url": "/zh/docs/learn/ai/ai-math-basics/linear-algebra" }, { - "id": "d73h3kyjnzytk1y2nizulyr6", - "title": "算力平台", - "url": "/docs/ai/compute-platforms/compute-platforms-handbook" + "id": "l5nes88zd54y6ao64ufkylz2", + "title": "模型微调", + "url": "/zh/docs/learn/ai/foundation-models/finetune" }, { - "id": "egpawb1yui58yprrsgxn9qj2", - "title": "数据集构建", - "url": "/docs/ai/foundation-models/datasets" + "id": "l6eepr5ctjgrhdgupy3twr1t", + "title": "Prompt Repetition Improves Non-Reasoning LLMs", + "url": "/zh/docs/community/papers/prompt-repetition-improves-non-reasoning-llms" }, { - "id": "z157s85hnz1y37tr28y2a8h2", - "title": "部署与推理", - "url": "/docs/ai/foundation-models/deploy-infer" + "id": "ld59a8z1v84ig4rlr0p0n2a9", + "title": "资深科技大厂程序员Coffee Chat回顾", + "url": "/zh/docs/career/events/coffee-chat" }, { "id": "lndxpf7luoeqwwde4in23xr1", "title": "模型评测", - "url": "/docs/ai/foundation-models/evaluation" + "url": "/zh/docs/learn/ai/foundation-models/evaluation" }, { - "id": "l5nes88zd54y6ao64ufkylz2", - "title": "模型微调", - "url": "/docs/ai/foundation-models/finetune" + "id": "lodydcd211esraq1r55ze9ey", + "title": "其他资料", + "url": "/zh/docs/learn/ai/llm-basics/deep-learning/misc" }, { - "id": "i88bna4sg5pr4ekhg32drv2i", - "title": "基座大模型", - "url": "/docs/ai/foundation-models/foundation-models-lifecycle" + "id": "lsokl8ofmo7msxlqyvihbhz5", + "title": "Transformer", + "url": "/zh/docs/learn/ai/llm-basics/transformer" }, { - "id": "h7s6nm7h5oqnhhdq9m1mgwwo", - "title": "经典面试QKV问题", - "url": "/docs/ai/foundation-models/qkv-interview" + "id": "m37j6a24hb9mlrm0g6jfcxop", + "title": "PTE-Academic题型与题量介绍", + "url": "/zh/docs/community/language/pte-intro" }, { - "id": "jgz0nl0cbd4frj2dg98mdv0x", - "title": "模型训练", - "url": "/docs/ai/foundation-models/training" + "id": "mhyoknm6vj8jmp186oli5f5c", + "title": "swanlab快速上手指南", + "url": "/zh/docs/community/tools/swanlab" }, { - "id": "xboc8qj2128aivvt0goo1wow", - "title": "大模型入门课程", - "url": "/docs/ai/llm-basics/courses" + "id": "nor5ktairygnt4dorqbddo9n", + "title": "生成模型", + "url": "/zh/docs/learn/ai/generative-todo/generative-models-plan" }, { - "id": "nwt5322vw4q6sz8ho8qynv28", - "title": "CUDA", - "url": "/docs/ai/llm-basics/cuda" + "id": "nrelvvfzq0gma7pqfx9fkfxt", + "title": "NLP", + "url": "/zh/docs/learn/ai/llm-basics/deep-learning/nlp" }, { - "id": "dqg4iqz7hgyq38cqz3tg9tlf", - "title": "李沐动手学深度学习", - "url": "/docs/ai/llm-basics/deep-learning/d2l" + "id": "nwt5322vw4q6sz8ho8qynv28", + "title": "CUDA", + "url": "/zh/docs/learn/ai/llm-basics/cuda" }, { - "id": "vdclex41huib10ccsqw9u76k", - "title": "深度学习基础", - "url": "/docs/ai/llm-basics/deep-learning" + "id": "otfiks0uz3aue1bdvlyqmj3e", + "title": "VQ-VAE学习笔记", + "url": "/zh/docs/learn/ai/multimodal/VQVAE" }, { - "id": "lodydcd211esraq1r55ze9ey", - "title": "其他资料", - "url": "/docs/ai/llm-basics/deep-learning/misc" + "id": "pffzdgytknyhaywar8uzyf2e", + "title": "LLaVA", + "url": "/zh/docs/learn/ai/multimodal/llava" }, { - "id": "nrelvvfzq0gma7pqfx9fkfxt", - "title": "NLP", - "url": "/docs/ai/llm-basics/deep-learning/nlp" + "id": "pmrtokz6393ywte5zqeskpm0", + "title": "多模态基础课程", + "url": "/zh/docs/learn/ai/multimodal/courses" }, { - "id": "xnl2yzrb4x748zhhfe26ragt", - "title": "Embedding模型", - "url": "/docs/ai/llm-basics/embeddings" + "id": "pqplmwaj5o5aszydqo1drzrj", + "title": "RQ-VAE学习笔记", + "url": "/zh/docs/learn/ai/multimodal/RQVAE" }, { - "id": "jq6323xynmyapm5vgncmyymh", - "title": "Qwen3-embedding", - "url": "/docs/ai/llm-basics/embeddings/qwen3-embedding" + "id": "psc0xf6oa1m7g8s9wfwiojkf", + "title": "PyTorch", + "url": "/zh/docs/learn/ai/llm-basics/pytorch" }, { - "id": "e7hcn9xwnicxj6smk2zijhyj", - "title": "e7hcn9xwnicxj6smk2zijhyj", - "url": "/docs/e7hcn9xwnicxj6smk2zijhyj" + "id": "q7kagbrpnek7b89axvssn4bo", + "title": "概率论与统计学参考资料", + "url": "/zh/docs/learn/ai/ai-math-basics/probability-statistics/resources" }, { - "id": "nor5ktairygnt4dorqbddo9n", - "title": "生成模型", - "url": "/docs/ai/generative-todo/generative-models-plan" + "id": "qaezsrj15sudk796r5otne36", + "title": "Code translation入门推荐必读", + "url": "/zh/docs/learn/ai/Multi-agents-system-on-Code-Translation/code-translation-intro" }, { - "id": "fzieiqiepxw9yfo2id9eham3", - "title": "fzieiqiepxw9yfo2id9eham3", - "url": "/docs/fzieiqiepxw9yfo2id9eham3" + "id": "qmy3p4vc45ek61ce4n62fpxy", + "title": "王树森推荐系统学习笔记_涨指标", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note_improvement" }, { - "id": "ybczrbgxo5t4pl0erce7qz6w", - "title": "QwenVL", - "url": "/docs/ai/multimodal/qwenvl" + "id": "r68izu11bkrkk6st194kwk80", + "title": "方法论学习", + "url": "/zh/docs/learn/ai/methodology/research-methodology" }, { - "id": "bvccoatft6y7bph83oivdcfe", - "title": "王树森推荐系统学习笔记_冷启动", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_note_coldstart" + "id": "s4fuhmdf6hj49jx1l7k87d4p", + "title": "强化学习", + "url": "/zh/docs/learn/ai/reinforcement-learning/reinforcement-learning-overview" }, { - "id": "qmy3p4vc45ek61ce4n62fpxy", - "title": "王树森推荐系统学习笔记_涨指标", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_note_improvement" + "id": "s8w3d2p5k9m4h7z1x0c2a8r6", + "title": "求职活动回放站", + "url": "/zh/docs/career/events/event-takeway" }, { - "id": "vjwogf9afghpbvi71e4dfsgj", - "title": "王树森推荐系统学习笔记_排序", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_note_rank" + "id": "ssrhm03fw9sbogk78dmy92ml", + "title": "多模态视频大模型", + "url": "/zh/docs/learn/ai/multimodal/video-mm-todo" }, { - "id": "m37j6a24hb9mlrm0g6jfcxop", - "title": "PTE-Academic题型与题量介绍", - "url": "/docs/CommunityShare/Language/pte-intro" + "id": "tksz80mfqqyzwzzer5p3uxtg", + "title": "Git入门操作指南-程序员必会的git小技巧", + "url": "/zh/docs/community/dev-tips/git101" }, { "id": "u68pjetu592c9zvs3f5xa82j", "title": "行为面", - "url": "/docs/jobs/interview-prep/bq" - }, - { - "id": "fkk8ghklsr15a0s3vcxnswnj", - "title": "面试阶段逐关击破 | OA刷题血泪史 + VI分数偷看技巧 + 群面套路合集", - "url": "/docs/jobs/interview-prep/interview-tips" + "url": "/zh/docs/career/interview-prep/bq" }, { "id": "ue27z7z95yzw3lhhfj7nit1c", "title": "Agent", - "url": "/docs/ai/agents-todo/agent-ecosystem" + "url": "/zh/docs/learn/ai/agents-todo/agent-ecosystem" }, { - "id": "otfiks0uz3aue1bdvlyqmj3e", - "title": "VQ-VAE学习笔记", - "url": "/docs/ai/multimodal/VQVAE" + "id": "uguqyqpacxyj5irjickbt8n9", + "title": "杂项工具", + "url": "/zh/docs/learn/ai/misc-tools/learning-toolkit" }, { - "id": "jgyg6bp0nceyrxirz5qw3zsv", - "title": "UNSW学费回收计划-那些你还不知道的隐藏福利", - "url": "/docs/CommunityShare/Life/unsw-student-benefit" + "id": "uzoqs57kwc4tfut4wvgnbjhf", + "title": "2025年应届生前端需要学习什么", + "url": "/zh/docs/learn/cs/frontend/frontend-learning" }, { - "id": "y3xkz4kituc738jwsojo7cml", - "title": "frontend", - "url": "/docs/computer-science/frontend" + "id": "v8m8kdjzzx7uhiz69r5m3m9o", + "title": "微积分与优化 (Calculus & Optimization)", + "url": "/zh/docs/learn/ai/ai-math-basics/calculus-optimization" }, { - "id": "bkxwg1m9p9rnm8062wsm020w", - "title": "AI小镇策划", - "url": "/docs/all-projects/ai-town" + "id": "vcfer8dvlt80se4kmbnshx7x", + "title": "AI 数学基础", + "url": "/zh/docs/learn/ai/ai-math-basics/math-foundations" + }, + { + "id": "vdclex41huib10ccsqw9u76k", + "title": "深度学习基础", + "url": "/zh/docs/learn/ai/llm-basics/deep-learning" }, { - "id": "k6cgwcc28l9iap5s5oyjbjwo", - "title": "VAE学习笔记", - "url": "/docs/ai/multimodal/VAE" + "id": "vjwogf9afghpbvi71e4dfsgj", + "title": "王树森推荐系统学习笔记_排序", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note_rank" }, { - "id": "uzoqs57kwc4tfut4wvgnbjhf", - "title": "2025年应届生前端需要学习什么", - "url": "/docs/computer-science/frontend/frontend-learning" + "id": "x3xs4hk0mc7lxlgbgskti5qk", + "title": "模型数据集平台", + "url": "/zh/docs/learn/ai/model-datasets-platforms/platform-and-datasets" }, { - "id": "ifwz8sqxqsgjrafa79pycrcm", - "title": "多模态强化学习项目(MVP 目标)", - "url": "/docs/all-projects/multimodal-rl" + "id": "xboc8qj2128aivvt0goo1wow", + "title": "大模型入门课程", + "url": "/zh/docs/learn/ai/llm-basics/courses" }, { - "id": "ld59a8z1v84ig4rlr0p0n2a9", - "title": "资深科技大厂程序员Coffee Chat回顾", - "url": "/docs/jobs/event-keynote/coffee-chat" + "id": "xd3q72ubqzlesz8x4gewhi5r", + "title": "ViT 视觉编码器", + "url": "/zh/docs/learn/ai/multimodal/vit" }, { - "id": "pqplmwaj5o5aszydqo1drzrj", - "title": "RQ-VAE学习笔记", - "url": "/docs/ai/multimodal/RQVAE" + "id": "xnl2yzrb4x748zhhfe26ragt", + "title": "Embedding模型", + "url": "/zh/docs/learn/ai/llm-basics/embeddings" }, { - "id": "yrg9g9y6peb4ykbkxev5d1j7", - "title": "yrg9g9y6peb4ykbkxev5d1j7", - "url": "/docs/yrg9g9y6peb4ykbkxev5d1j7" + "id": "y3xkz4kituc738jwsojo7cml", + "title": "frontend", + "url": "/zh/docs/learn/cs/frontend" }, { - "id": "db3qwg25h6l0bh8f2sdabdqc", - "title": "Theory of MoE", - "url": "/docs/ai/MoE/moe-update" + "id": "ybczrbgxo5t4pl0erce7qz6w", + "title": "QwenVL", + "url": "/zh/docs/learn/ai/multimodal/qwenvl" }, { - "id": "cgo4lweflk5jx1hsncr8hshk", - "title": "面试前必看:掌握这四个小技巧,你的成功率会大大增加", - "url": "/docs/jobs/interview-prep/pre-interview" + "id": "z157s85hnz1y37tr28y2a8h2", + "title": "部署与推理", + "url": "/zh/docs/learn/ai/foundation-models/deploy-infer" }, { - "id": "s8w3d2p5k9m4h7z1x0c2a8r6", - "title": "求职活动回放站", - "url": "/docs/jobs/event-keynote/event-takeway" + "id": "zte4s8s8ls4cs25mfrzyepfl", + "title": "多模态大模型", + "url": "/zh/docs/learn/ai/multimodal/multimodal-overview" }, { - "id": "l6eepr5ctjgrhdgupy3twr1t", - "title": "Prompt Repetition Improves Non-Reasoning LLMs", - "url": "/docs/CommunityShare/Amazing-AI-Tools/prompt-repetition-improves-non-reasoning-llms.zh" + "id": "zywri1bs64awfi9utfjy14ll", + "title": "RAG", + "url": "/zh/docs/learn/ai/foundation-models/rag/rag" } ], "dailyCounts": { "2025-09-17": 16, "2025-09-13": 59, - "2025-09-19": 6, - "2025-09-14": 6, - "2025-09-18": 2, + "2025-10-25": 6, + "2025-09-27": 5, "2025-09-24": 1, - "2025-10-15": 3, - "2025-09-23": 1, + "2025-09-28": 2, + "2025-10-11": 3, "2025-09-22": 1, - "2025-09-27": 5, - "2025-10-17": 7, "2025-10-18": 3, - "2025-10-11": 3, + "2025-09-14": 6, "2025-10-03": 2, - "2025-10-25": 6, "2025-10-10": 1, + "2026-04-01": 1, "2025-11-01": 2, - "2025-09-28": 2, + "2025-10-17": 7, + "2025-09-23": 1, + "2025-09-19": 6, "2025-10-26": 2, - "2026-04-01": 1 + "2025-10-15": 3, + "2025-09-18": 2 } }, { @@ -1247,88 +1916,73 @@ "commits": 19, "avatarUrl": "https://avatars.githubusercontent.com/u/7187663", "contributedDocs": [ - { - "id": "gmpls10e2dz0bbizotvhglc8", - "title": "静态数组", - "url": "/docs/computer-science/data-structures/array/01-static-array.zh" - }, - { - "id": "nuojcaq1s6r5nggul0uq3r3j", - "title": "动态数组", - "url": "/docs/computer-science/data-structures/array/02-dynamic-array.zh" - }, { "id": "ai7cmwf4irjaobqf7uokj3b4", "title": "数组", - "url": "/docs/computer-science/data-structures/array/index.zh" + "url": "/zh/docs/learn/cs/data-structures/array" }, { - "id": "vti0bt2qlnr681msbk6igznc", - "title": "数据结构基础", - "url": "/docs/computer-science/data-structures/index.zh" + "id": "eej2awin6irhbdgcy8vvs3xb", + "title": "Perplexity Comet 浏览器:能当私人管家的自动化浏览器", + "url": "/zh/docs/community/tools/perplexity-comet" + }, + { + "id": "g6wucmr69lamd9xyxm7uunnd", + "title": "Make编译", + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/3-make" }, { "id": "gkjk6stzpb44n9lv8u2ij7xx", "title": "单链表", - "url": "/docs/computer-science/data-structures/linked-list/01-singly-linked-list.zh" + "url": "/zh/docs/learn/cs/data-structures/linked-list/01-singly-linked-list" }, { - "id": "lt9yrqt0ksl2liabq9ocw0z4", - "title": "链表", - "url": "/docs/computer-science/data-structures/linked-list/index.zh" + "id": "gmpls10e2dz0bbizotvhglc8", + "title": "静态数组", + "url": "/zh/docs/learn/cs/data-structures/array/01-static-array" }, { "id": "ksjj9shalh6hqezx6t6am5vw", "title": "Computer Science", - "url": "/docs/computer-science" + "url": "/zh/docs/learn/cs" + }, + { + "id": "lt9yrqt0ksl2liabq9ocw0z4", + "title": "链表", + "url": "/zh/docs/learn/cs/data-structures/linked-list" }, { "id": "mgb41edhi9cz1kxzae074an0", "title": "学生邮箱能免费领的AI提效工具系列", - "url": "/docs/CommunityShare/Amazing-AI-Tools" + "url": "/zh/docs/community/tools" }, { - "id": "eej2awin6irhbdgcy8vvs3xb", - "title": "Perplexity Comet 浏览器:能当私人管家的自动化浏览器", - "url": "/docs/CommunityShare/Amazing-AI-Tools/perplexity-comet" + "id": "nuojcaq1s6r5nggul0uq3r3j", + "title": "动态数组", + "url": "/zh/docs/learn/cs/data-structures/array/02-dynamic-array" }, { - "id": "fzieiqiepxw9yfo2id9eham3", - "title": "fzieiqiepxw9yfo2id9eham3", - "url": "/docs/fzieiqiepxw9yfo2id9eham3" + "id": "p8igr19xfxnuyo2lpngnr6fg", + "title": "1234. Replace the sub -string to get a balanced string One question daily", + "url": "/en/docs/career/interview-prep/leetcode/1234-replace-substring-for-balanced-string" }, { - "id": "e7hcn9xwnicxj6smk2zijhyj", - "title": "e7hcn9xwnicxj6smk2zijhyj", - "url": "/docs/e7hcn9xwnicxj6smk2zijhyj" + "id": "vti0bt2qlnr681msbk6igznc", + "title": "数据结构基础", + "url": "/zh/docs/learn/cs/data-structures" }, { "id": "wdqqrepoy43jiieyyjmaekk1", "title": "context engineering 快速了解", - "url": "/docs/CommunityShare/RAG/context_engineering_intro" - }, - { - "id": "g6wucmr69lamd9xyxm7uunnd", - "title": "Make编译", - "url": "/docs/computer-science/cpp_backend/easy_compile/3_Make" - }, - { - "id": "vesefhhnj2ebu2oafxa3qmcg", - "title": "vesefhhnj2ebu2oafxa3qmcg", - "url": "/docs/vesefhhnj2ebu2oafxa3qmcg" - }, - { - "id": "p8igr19xfxnuyo2lpngnr6fg", - "title": "1234. Replace the sub -string to get a balanced string One question daily", - "url": "/docs/CommunityShare/Leetcode/1234. 替换子串得到平衡字符串_translated" + "url": "/zh/docs/learn/ai/foundation-models/rag/context-engineering-intro" } ], "dailyCounts": { "2025-09-12": 6, - "2025-10-08": 3, - "2025-10-03": 4, "2025-09-17": 2, + "2025-10-03": 4, "2025-09-30": 1, + "2025-10-08": 3, "2025-11-16": 3 } }, @@ -1340,59 +1994,59 @@ "avatarUrl": "https://avatars.githubusercontent.com/u/73457237", "contributedDocs": [ { - "id": "xqz5iiv3p52h6d9g3c0w2baf", - "title": "常用Markdown语法", - "url": "/docs/CommunityShare/Geek/CommonUsedMarkdown" + "id": "i0xmpskau105p83vq35wnxls", + "title": "用闲置树莓派搭建一个Minecraft服务器", + "url": "/zh/docs/community/dev-tips/raspberry-guide" }, { "id": "jee9yt8n8tmo8yclqujerw2x", "title": "技术分享", - "url": "/docs/CommunityShare/Geek" - }, - { - "id": "yxd2qpfl2li6092bjx8bz7vb", - "title": "常用Katex语法", - "url": "/docs/CommunityShare/Geek/Katex" - }, - { - "id": "r0inttjcby48tly602p410vo", - "title": "个人常用字符", - "url": "/docs/CommunityShare/Geek/Katex/Seb1" + "url": "/zh/docs/community/dev-tips" }, { "id": "khcrztruqdku9fntd3dwzvwe", "title": "数学公式语法", - "url": "/docs/CommunityShare/Geek/Katex/Seb2" - }, - { - "id": "i0xmpskau105p83vq35wnxls", - "title": "用闲置树莓派搭建一个Minecraft服务器", - "url": "/docs/CommunityShare/Geek/raspberry-guide" + "url": "/zh/docs/community/dev-tips/Katex/Seb2" }, { "id": "q8d1j9bii2ve2p7pp4xtok79", "title": "程序员 Burnout 自救指南", - "url": "/docs/CommunityShare/MentalHealth/burnout-guide" + "url": "/zh/docs/community/mental-health/burnout-guide" + }, + { + "id": "r0inttjcby48tly602p410vo", + "title": "个人常用字符", + "url": "/zh/docs/community/dev-tips/Katex/Seb1" }, { "id": "rxyvvumcvfl2oh3hky8urkfn", "title": "心理健康", - "url": "/docs/CommunityShare/MentalHealth" + "url": "/zh/docs/community/mental-health" + }, + { + "id": "s8w3d2p5k9m4h7z1x0c2a8r6", + "title": "求职活动回放站", + "url": "/zh/docs/career/events/event-takeway" }, { "id": "sfzt30mtx0jsuv6esnpm3w8y", "title": "群友分享", - "url": "/docs/CommunityShare" + "url": "/zh/docs/community" }, { - "id": "s8w3d2p5k9m4h7z1x0c2a8r6", - "title": "求职活动回放站", - "url": "/docs/jobs/event-keynote/event-takeway" + "id": "xqz5iiv3p52h6d9g3c0w2baf", + "title": "常用Markdown语法", + "url": "/zh/docs/community/dev-tips/CommonUsedMarkdown" + }, + { + "id": "yxd2qpfl2li6092bjx8bz7vb", + "title": "常用Katex语法", + "url": "/zh/docs/community/dev-tips/Katex" } ], "dailyCounts": { - "2025-09-20": 6, "2025-09-18": 6, + "2025-09-20": 6, "2026-02-08": 1 } }, @@ -1403,57 +2057,57 @@ "commits": 10, "avatarUrl": "https://avatars.githubusercontent.com/u/188854497", "contributedDocs": [ + { + "id": "bvccoatft6y7bph83oivdcfe", + "title": "王树森推荐系统学习笔记_冷启动", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note_coldstart" + }, { "id": "c3a4nmid9plytif5ameigj7d", "title": "王树森推荐系统学习笔记_召回", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_note/wangshusen_recommend_note_retrieval" + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note/wangshusen_recommend_note_retrieval" }, { "id": "hajz43iblku13mmevia8zrhv", "title": "王树森推荐系统学习笔记_特征交叉", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_crossing" - }, - { - "id": "bvccoatft6y7bph83oivdcfe", - "title": "王树森推荐系统学习笔记_冷启动", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_note_coldstart" + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_crossing" }, { - "id": "qmy3p4vc45ek61ce4n62fpxy", - "title": "王树森推荐系统学习笔记_涨指标", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_note_improvement" + "id": "k6cgwcc28l9iap5s5oyjbjwo", + "title": "VAE学习笔记", + "url": "/zh/docs/learn/ai/multimodal/VAE" }, { "id": "ol03smbujgwztho45ycj52ah", "title": "王树森推荐系统学习笔记_重排", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_note_rerank" - }, - { - "id": "pqplmwaj5o5aszydqo1drzrj", - "title": "RQ-VAE学习笔记", - "url": "/docs/ai/multimodal/RQVAE" + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note_rerank" }, { "id": "otfiks0uz3aue1bdvlyqmj3e", "title": "VQ-VAE学习笔记", - "url": "/docs/ai/multimodal/VQVAE" + "url": "/zh/docs/learn/ai/multimodal/VQVAE" }, { - "id": "k6cgwcc28l9iap5s5oyjbjwo", - "title": "VAE学习笔记", - "url": "/docs/ai/multimodal/VAE" + "id": "pqplmwaj5o5aszydqo1drzrj", + "title": "RQ-VAE学习笔记", + "url": "/zh/docs/learn/ai/multimodal/RQVAE" + }, + { + "id": "qmy3p4vc45ek61ce4n62fpxy", + "title": "王树森推荐系统学习笔记_涨指标", + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note_improvement" }, { "id": "vjwogf9afghpbvi71e4dfsgj", "title": "王树森推荐系统学习笔记_排序", - "url": "/docs/ai/recommender-systems/wangshusen_recommend_note_rank" + "url": "/zh/docs/learn/ai/recommender-systems/wangshusen_recommend_note_rank" } ], "dailyCounts": { - "2025-09-22": 2, "2025-09-27": 5, - "2025-10-10": 2, - "2025-10-09": 1 + "2025-09-22": 2, + "2025-10-09": 1, + "2025-10-10": 2 } }, { @@ -1463,45 +2117,45 @@ "commits": 8, "avatarUrl": "https://avatars.githubusercontent.com/u/100033202", "contributedDocs": [ + { + "id": "g6wucmr69lamd9xyxm7uunnd", + "title": "Make编译", + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/3-make" + }, { "id": "gtqamuq3tftmvzstbunkgbo5", "title": "vcpkg包管理器", - "url": "/docs/computer-science/cpp_backend/easy_compile/5_vcpkg" + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/5-vcpkg" }, { - "id": "totx4pej5lhyt1nl4anwhakj", - "title": "linux/win上的c++库", - "url": "/docs/computer-science/cpp_backend/easy_compile/1_cpp_libs" + "id": "kyu85av71b4n07hbdycbhvj9", + "title": "基础gcc/g++", + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/2-base-gcc" }, { - "id": "xgxqqvglxyauoeh8eye7lzu6", - "title": "手写定长内存池", - "url": "/docs/computer-science/cpp_backend/Handwritten_pool_components/2_Handwritten_mempool1" + "id": "mnjkrtrs7xk3fq538eqreuge", + "title": "手写线程池", + "url": "/zh/docs/learn/cs/cpp-backend/handwritten-pool-components/1-handwritten-threadpool" }, { "id": "q8290wmhyofuiskzn1ph63ta", "title": "手写内存池(简单定长)", - "url": "/docs/computer-science/cpp_backend/mempool_simple" - }, - { - "id": "kyu85av71b4n07hbdycbhvj9", - "title": "基础gcc/g++", - "url": "/docs/computer-science/cpp_backend/easy_compile/2_base_gcc" + "url": "/zh/docs/learn/cs/cpp-backend/mempool-simple" }, { - "id": "xk44lx4q1gpcm1uqk8nnbg7q", - "title": "CMake", - "url": "/docs/computer-science/cpp_backend/easy_compile/4_CMake" + "id": "totx4pej5lhyt1nl4anwhakj", + "title": "linux/win上的c++库", + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/1-cpp-libs" }, { - "id": "g6wucmr69lamd9xyxm7uunnd", - "title": "Make编译", - "url": "/docs/computer-science/cpp_backend/easy_compile/3_Make" + "id": "xgxqqvglxyauoeh8eye7lzu6", + "title": "手写定长内存池", + "url": "/zh/docs/learn/cs/cpp-backend/handwritten-pool-components/2-handwritten-mempool1" }, { - "id": "mnjkrtrs7xk3fq538eqreuge", - "title": "手写线程池", - "url": "/docs/computer-science/cpp_backend/Handwritten_pool_components/1_Handwritten_threadpool" + "id": "xk44lx4q1gpcm1uqk8nnbg7q", + "title": "CMake", + "url": "/zh/docs/learn/cs/cpp-backend/easy-compile/4-cmake" } ], "dailyCounts": { @@ -1516,30 +2170,30 @@ "commits": 6, "avatarUrl": "https://avatars.githubusercontent.com/u/166212872", "contributedDocs": [ - { - "id": "lodydcd211esraq1r55ze9ey", - "title": "其他资料", - "url": "/docs/ai/llm-basics/deep-learning/misc" - }, { "id": "h53uwefhlykt9ietsx9x0vtn", "title": "Introduction of Multi-agents system(In any task you want)", - "url": "/docs/ai/Introduction-of-Multi-agents-system/introduction_of_multi-agents_system" + "url": "/zh/docs/learn/ai/Introduction-of-Multi-agents-system/introduction_of_multi-agents_system" + }, + { + "id": "lodydcd211esraq1r55ze9ey", + "title": "其他资料", + "url": "/zh/docs/learn/ai/llm-basics/deep-learning/misc" }, { "id": "wdqqrepoy43jiieyyjmaekk1", "title": "context engineering 快速了解", - "url": "/docs/CommunityShare/RAG/context_engineering_intro" + "url": "/zh/docs/learn/ai/foundation-models/rag/context-engineering-intro" }, { "id": "zywri1bs64awfi9utfjy14ll", "title": "RAG", - "url": "/docs/CommunityShare/RAG/rag" + "url": "/zh/docs/learn/ai/foundation-models/rag/rag" } ], "dailyCounts": { - "2025-10-02": 1, "2025-10-01": 2, + "2025-10-02": 1, "2025-10-03": 1, "2025-09-19": 2 } @@ -1554,7 +2208,7 @@ { "id": "zf8zk108oqbsg56xjyqb5txk", "title": "PPO", - "url": "/docs/CommunityShare/Personal-Study-Notes/Reinforcement-Learning/ppo" + "url": "/zh/docs/learn/ai/reinforcement-learning/ppo" } ], "dailyCounts": { @@ -1568,20 +2222,20 @@ "commits": 3, "avatarUrl": "https://avatars.githubusercontent.com/u/59130571", "contributedDocs": [ - { - "id": "zywri1bs64awfi9utfjy14ll", - "title": "RAG", - "url": "/docs/CommunityShare/RAG/rag" - }, { "id": "e6udpzrorhvgeeda6xpy1e0s", "title": "如何部署你自己的Github图床-PictureCDN", - "url": "/docs/CommunityShare/Geek/picturecdn" + "url": "/zh/docs/community/dev-tips/picturecdn" + }, + { + "id": "zywri1bs64awfi9utfjy14ll", + "title": "RAG", + "url": "/zh/docs/learn/ai/foundation-models/rag/rag" } ], "dailyCounts": { - "2025-09-19": 1, - "2025-09-27": 2 + "2025-09-27": 2, + "2025-09-19": 1 } }, { @@ -1594,7 +2248,7 @@ { "id": "kzi6k1yg1sehlxidnxdsf59a", "title": "Recommended Books on Mathematics and Data Science", - "url": "/docs/ai/ai-math-basics/math_books" + "url": "/zh/docs/learn/ai/ai-math-basics/math_books" } ], "dailyCounts": { @@ -1611,12 +2265,12 @@ { "id": "uzoqs57kwc4tfut4wvgnbjhf", "title": "2025年应届生前端需要学习什么", - "url": "/docs/computer-science/frontend/frontend-learning" + "url": "/zh/docs/learn/cs/frontend/frontend-learning" }, { "id": "y3xkz4kituc738jwsojo7cml", "title": "frontend", - "url": "/docs/computer-science/frontend" + "url": "/zh/docs/learn/cs/frontend" } ], "dailyCounts": { @@ -1633,13 +2287,36 @@ { "id": "h53uwefhlykt9ietsx9x0vtn", "title": "Introduction of Multi-agents system(In any task you want)", - "url": "/docs/ai/Introduction-of-Multi-agents-system/introduction_of_multi-agents_system" + "url": "/zh/docs/learn/ai/Introduction-of-Multi-agents-system/introduction_of_multi-agents_system" } ], "dailyCounts": { "2025-09-29": 2 } }, + { + "id": "128119791", + "name": "CeitherNSW", + "points": 20, + "commits": 2, + "avatarUrl": "https://avatars.githubusercontent.com/u/128119791", + "contributedDocs": [ + { + "id": "boo70qqm8nos8b0q9h7zjrki", + "title": "LeWorldModel", + "url": "/zh/docs/community/papers/leworldmodel" + }, + { + "id": "l6eepr5ctjgrhdgupy3twr1t", + "title": "Prompt Repetition Improves Non-Reasoning LLMs", + "url": "/zh/docs/community/papers/prompt-repetition-improves-non-reasoning-llms" + } + ], + "dailyCounts": { + "2026-04-15": 1, + "2026-03-05": 1 + } + }, { "id": "150361711", "name": "mojitote", @@ -1647,15 +2324,10 @@ "commits": 2, "avatarUrl": "https://avatars.githubusercontent.com/u/150361711", "contributedDocs": [ - { - "id": "yrg9g9y6peb4ykbkxev5d1j7", - "title": "yrg9g9y6peb4ykbkxev5d1j7", - "url": "/docs/yrg9g9y6peb4ykbkxev5d1j7" - }, { "id": "ifwz8sqxqsgjrafa79pycrcm", "title": "多模态强化学习项目(MVP 目标)", - "url": "/docs/all-projects/multimodal-rl" + "url": "/zh/docs/projects/multimodal-rl" } ], "dailyCounts": { @@ -1669,20 +2341,20 @@ "commits": 2, "avatarUrl": "https://avatars.githubusercontent.com/u/194795025", "contributedDocs": [ - { - "id": "sfzt30mtx0jsuv6esnpm3w8y", - "title": "群友分享", - "url": "/docs/CommunityShare" - }, { "id": "gj4bn01un0s0841berfvwrn5", "title": "使用 Cloudflare R2 + ShareX 搭建个人/团队专属“永久”图床", - "url": "/docs/CommunityShare/Geek/cloudflare-r2-sharex-free-image-hosting" + "url": "/zh/docs/community/dev-tips/cloudflare-r2-sharex-free-image-hosting" + }, + { + "id": "sfzt30mtx0jsuv6esnpm3w8y", + "title": "群友分享", + "url": "/zh/docs/community" } ], "dailyCounts": { - "2025-09-21": 1, - "2025-09-27": 1 + "2025-09-27": 1, + "2025-09-21": 1 } }, { @@ -1695,7 +2367,7 @@ { "id": "db3qwg25h6l0bh8f2sdabdqc", "title": "Theory of MoE", - "url": "/docs/ai/MoE/moe-update" + "url": "/zh/docs/learn/ai/MoE/moe-update" } ], "dailyCounts": { @@ -1712,7 +2384,7 @@ { "id": "tksz80mfqqyzwzzer5p3uxtg", "title": "Git入门操作指南-程序员必会的git小技巧", - "url": "/docs/CommunityShare/Geek/git101" + "url": "/zh/docs/community/dev-tips/git101" } ], "dailyCounts": { @@ -1729,7 +2401,7 @@ { "id": "pne40puz5alzsf0f5jb0frbm", "title": "程序员学生时期求职与实习经验分享", - "url": "/docs/jobs/interview-prep/preparations-to-get-an-offer-as-a-student" + "url": "/zh/docs/career/interview-prep/preparations-to-get-an-offer-as-a-student" } ], "dailyCounts": { @@ -1746,30 +2418,13 @@ { "id": "q8d1j9bii2ve2p7pp4xtok79", "title": "程序员 Burnout 自救指南", - "url": "/docs/CommunityShare/MentalHealth/burnout-guide" + "url": "/zh/docs/community/mental-health/burnout-guide" } ], "dailyCounts": { "2025-09-26": 1 } }, - { - "id": "128119791", - "name": "CeitherNSW", - "points": 10, - "commits": 1, - "avatarUrl": "https://avatars.githubusercontent.com/u/128119791", - "contributedDocs": [ - { - "id": "l6eepr5ctjgrhdgupy3twr1t", - "title": "Prompt Repetition Improves Non-Reasoning LLMs", - "url": "/docs/CommunityShare/Amazing-AI-Tools/prompt-repetition-improves-non-reasoning-llms.zh" - } - ], - "dailyCounts": { - "2026-03-05": 1 - } - }, { "id": "138507318", "name": "TinyAlmond", @@ -1780,7 +2435,7 @@ { "id": "l6eepr5ctjgrhdgupy3twr1t", "title": "Prompt Repetition Improves Non-Reasoning LLMs", - "url": "/docs/CommunityShare/Amazing-AI-Tools/prompt-repetition-improves-non-reasoning-llms.zh" + "url": "/zh/docs/community/papers/prompt-repetition-improves-non-reasoning-llms" } ], "dailyCounts": { @@ -1797,7 +2452,7 @@ { "id": "q8d1j9bii2ve2p7pp4xtok79", "title": "程序员 Burnout 自救指南", - "url": "/docs/CommunityShare/MentalHealth/burnout-guide" + "url": "/zh/docs/community/mental-health/burnout-guide" } ], "dailyCounts": { diff --git a/lib/leetcode-slug.ts b/lib/leetcode-slug.ts index 9e224657..215ce5b2 100644 --- a/lib/leetcode-slug.ts +++ b/lib/leetcode-slug.ts @@ -28,3 +28,46 @@ export function convertSlugToPinyin(text: string): string { .filter(Boolean) .join("-"); } + +/** leetcode 目录相对 content/docs 的路径(= 对外 URL 里 /docs 之后的固定段)。*/ +export const LEETCODE_DIR_SLUG = "career/interview-prep/leetcode"; + +/** + * 从 leetcode 目录的文件名列表构建「题号 → 英文 ASCII slug」映射。 + * + * 英文命名文件(`1234-replace-....en.md`)的 ASCII slug 一定能被 fumadocs 解析、 + * 一定 200;中文翻译文件名经 i18n 解析后的真实 slug 不可预测(带 `. ` 的会塌缩、 + * 带方括号的能独立成拼音页)。所以同一题优先用英文 slug 当 canonical。 + */ +export function buildLeetcodeAsciiSlugByNumber( + filenames: string[], +): Map { + const map = new Map(); + for (const f of filenames) { + if (!/\.(md|mdx)$/i.test(f)) continue; + const stem = f.replace(/\.(md|mdx)$/i, "").replace(/\.(en|zh)$/i, ""); + if (/[^ -~]/.test(stem)) continue; // 含非 ASCII(中文)= 不是 canonical 来源 + if (/_translated$/i.test(stem)) continue; // 英文名也带 _translated 的极少数 + const num = stem.match(/(\d+)/); // 题号(取第一段数字,兼容 1234- / sword-offer-ii-021) + if (!num) continue; + if (!map.has(num[1])) map.set(num[1], stem); + } + return map; +} + +/** + * 给一个 leetcode 文件的 stem(已去 locale / 扩展名后缀),算它的真实 canonical URL。 + * + * 英文页只在 `/en` 渲染(`.en.md`,zh 不回退 en),所以按题号命中英文 slug 时一律 + * 指向 `/en`;命不中(无英文兄弟)才退回 `/zh` 拼音页。`index` 对应目录根。 + */ +export function leetcodeCanonicalUrl( + stem: string, + asciiByNumber: Map, +): string { + if (stem === "index") return `/zh/docs/${LEETCODE_DIR_SLUG}`; + const num = stem.match(/(\d+)/); + const ascii = num ? asciiByNumber.get(num[1]) : undefined; + if (ascii) return `/en/docs/${LEETCODE_DIR_SLUG}/${ascii}`; + return `/zh/docs/${LEETCODE_DIR_SLUG}/${convertSlugToPinyin(stem)}`; +} diff --git a/next.config.mjs b/next.config.mjs index 82177e51..d39826b4 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -61,6 +61,39 @@ const config = { // 英语用户由站内 切到 /en/docs/...,cookie 同步偏好。 // source 保持不带 locale 形式(匹配老 URL)。 return [ + // ============= i18n 段化前的 .en/.zh locale 文件后缀 → 段化 canonical ============= + // 段化(2026-05)前 locale 是文件后缀(/docs/foo.en),段化后变成 URL 段前缀 + // (/en/docs/foo)。GSC 里仍存着上百条 .en/.zh 旧 URL(最大一类 404)。 + // + // 为什么放在这里而不是 proxy.ts:proxy 的 matcher 排除了 `.*\..*`,任何带点 + // 路径(.en/.zh 后缀全带点)根本不进中间件。next.config redirects 跑在路由层, + // 不受该排除影响,是带点旧 URL 唯一能 301 兜住的地方。 + // + // 必须排在 IA wildcard 之前:先剥 locale 后缀 / index,命中即单跳到位。 + // :slug(.*) 贪婪吃掉含 `/` 的多级路径,结尾的 \.en / \.zh 做字面锚定。 + { + source: "/docs/:slug(.*)/index.en", + destination: "/en/docs/:slug", + statusCode: 301, + }, + { + source: "/docs/:slug(.*)/index.zh", + destination: "/zh/docs/:slug", + statusCode: 301, + }, + { source: "/docs/index.en", destination: "/en/docs", statusCode: 301 }, + { source: "/docs/index.zh", destination: "/zh/docs", statusCode: 301 }, + { + source: "/docs/:slug(.*)\\.en", + destination: "/en/docs/:slug", + statusCode: 301, + }, + { + source: "/docs/:slug(.*)\\.zh", + destination: "/zh/docs/:slug", + statusCode: 301, + }, + // ============= 特殊路径(必须在 wildcard 之前) ============= // CommunityShare/RAG → learn/ai/foundation-models/rag (RAG 文件归 ai 主题) { @@ -239,6 +272,19 @@ const config = { destination: "/zh/docs/community/tools/:path*", statusCode: 301, }, + + // 段化前没有 /docs 前缀的更老 URL(GSC 里还有 /computer-science/...) + { + source: "/computer-science/:path*", + destination: "/zh/docs/learn/cs/:path*", + statusCode: 301, + }, + + // 注意:不要在这里加 `/docs/:path*` → `/zh/docs/:path*` 的 no-locale 兜底。 + // 那是个 301(永久),会抢在 next-intl middleware 之前把所有无前缀 /docs + // 链接(Hero / Footer 站内链接 + 外链)强制钉到 zh,英文用户再也协商不到 + // /en(且被浏览器/Google 缓存)。无前缀路径交给 next-intl 按 Accept-Language + // / NEXT_LOCALE 协商(307,单跳到 /zh 或 /en)才是对的。 ]; }, async rewrites() { diff --git a/package.json b/package.json index 8f43f497..49a84651 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "dev": "next dev", - "prebuild": "node scripts/escape-angles.mjs && tsx scripts/generate-leaderboard.mjs && node scripts/generate-leetcode-slug-map.mts", + "prebuild": "node scripts/escape-angles.mjs && node scripts/generate-leaderboard.mts && node scripts/generate-leetcode-slug-map.mts", "build": "next build", "start": "next start -p 3000", "test": "vitest run", diff --git a/proxy.ts b/proxy.ts index 92f4e153..cc8917bb 100644 --- a/proxy.ts +++ b/proxy.ts @@ -18,8 +18,16 @@ import { routing } from "@/i18n/routing"; * - URL 段化后,匹配规则 matcher 也得放宽到全站(不限于 /docs/:path*) */ -const SLUG_MAP = new Map( - Object.entries(leetcodeSlugMap as Record), +// generated/leetcode-slug-map.json: +// byName 中文文件名(decode 后)→ 完整 canonical 路径(含无英文兄弟时的 zh 拼音页) +// byNumber 题号 → 英文页,兜住「中文文件已改名成英文、旧中文 URL 在 GSC 还活着」 +const slugMap = leetcodeSlugMap as { + byName: Record; + byNumber: Record; +}; +const SLUG_BY_NAME = new Map(Object.entries(slugMap.byName)); +const SLUG_BY_NUMBER = new Map( + Object.entries(slugMap.byNumber), ); // 既要兼容老的不带 locale 前缀的 URL(/docs/...),也要兼容已经带 locale 的 @@ -85,15 +93,29 @@ function redirectLeetcodeIfNeeded(req: NextRequest): NextResponse | null { rawSlug = rest; } - const mapped = SLUG_MAP.get(rawSlug); - const targetSlug = mapped ?? rawSlug; - - // 新路径 + ASCII slug 命中原样:放行,不绕圈 - if (baseMatched === "new" && !mapped) return null; + // value 是完整 canonical 路径(含 locale 前缀)。先按文件名精确查(覆盖只有 zh + // 拼音页的情况),命不中再按题号查(兜住已改名成英文、旧中文 URL 仍存活的题)。 + // + // 题号兜底只对“含中文的 slug”生效:canonical 英文 slug(46-permutations)和 + // 合法的拼音页都是纯 ASCII,若也按题号重定向会把英文页指向自己造成 301 死循环、 + // 或把合法 /zh 英文命名页强行打到 /en。中文旧 URL 才需要这层兜底。 + const numMatch = rawSlug.match(/(\d+)/); + const hasNonAscii = /[^ -~]/.test(rawSlug); + const mapped = + SLUG_BY_NAME.get(rawSlug) ?? + (hasNonAscii && numMatch ? SLUG_BY_NUMBER.get(numMatch[1]) : undefined); + if (mapped) { + const url = req.nextUrl.clone(); + url.pathname = mapped; + url.search = ""; + return NextResponse.redirect(url, 301); + } - // 否则 301 到(带 locale 前缀的)拼音 URL + // 未映射 = 英文 / ASCII slug,真实 slug == rawSlug: + // 新前缀已经正确,放行不绕圈;老前缀只换前缀(默认 zh,_translated 等都是 zh 文件)。 + if (baseMatched === "new") return null; const url = req.nextUrl.clone(); - url.pathname = `${localePrefix}${LEETCODE_PATH_TAIL}/${targetSlug}`; + url.pathname = `${localePrefix || `/${routing.defaultLocale}`}${LEETCODE_PATH_TAIL}/${rawSlug}`; return NextResponse.redirect(url, 301); } @@ -122,6 +144,10 @@ export const config = { // rewrite source(/oauth/:path*)不匹配带 locale 的版本(/en/oauth/...), // 落到 [locale]/oauth/... 404。所以必须排除掉,让请求直接走 rewrite。 // - _next / _vercel:Next.js 内部 - // - .*\..*:任何带 . 的路径(静态资源 / sitemap.xml / robots.txt 等) - matcher: "/((?!api|trpc|auth|oauth|analytics|_next|_vercel|.*\\..*).*)", + // - (?!.*[Ll]eetcode).*\..*:带 . 的路径(静态资源 / sitemap.xml 等)一律排除, + // 但 leetcode 例外——GSC 旧 URL 里有大量带点的中文题名("46.全排列"、 + // "1234. 替换…"),不放进来就触不到上面的 slug-map 301,只能硬 404。 + // leetcode 目录下不存在带点的静态资源,开这个口子安全。 + matcher: + "/((?!api|trpc|auth|oauth|analytics|_next|_vercel|(?!.*[Ll]eetcode).*\\..*).*)", }; diff --git a/scripts/generate-leaderboard.mjs b/scripts/generate-leaderboard.mts similarity index 84% rename from scripts/generate-leaderboard.mjs rename to scripts/generate-leaderboard.mts index 5972e8ca..6519d98c 100644 --- a/scripts/generate-leaderboard.mjs +++ b/scripts/generate-leaderboard.mts @@ -17,8 +17,61 @@ import process from "node:process"; import { fileURLToPath } from "node:url"; import { execSync } from "node:child_process"; import dotenv from "dotenv"; +import { + LEETCODE_DIR_SLUG, + buildLeetcodeAsciiSlugByNumber, + leetcodeCanonicalUrl, +} from "../lib/leetcode-slug.ts"; dotenv.config({ path: [".env.local", ".env"] }); +// 默认语言(lib/source.ts defineI18n defaultLanguage),不带后缀的 .mdx 视为 zh +const DEFAULT_LOCALE = "zh"; +const LEETCODE_PREFIX = `${LEETCODE_DIR_SLUG}/`; +const LEETCODE_DIR_REL = `content/docs/${LEETCODE_DIR_SLUG}`; + +// 题号 → 英文 ASCII slug。leetcode 中文翻译文件名经 fumadocs 解析后真实 slug 不可预测, +// 统一按题号指向英文版 /en(详见 lib/leetcode-slug.ts)。proxy.ts 的 slug-map 同源。 +const leetcodeAsciiSlugByNumber = new Map(); + +async function loadLeetcodeAsciiSlugMap() { + const dir = path.join(REPO_ROOT, LEETCODE_DIR_REL); + let files: string[] = []; + try { + files = await fs.readdir(dir); + } catch { + return; + } + for (const [k, v] of buildLeetcodeAsciiSlugByNumber(files)) { + leetcodeAsciiSlugByNumber.set(k, v); + } +} + +/** + * 把 .source 里的原始文件路径转成站点真实 canonical URL://docs/。 + * + * 必须和三件事对齐,否则排行榜链接全部 404: + * 1. i18n 段化(2026-05):locale 是 URL 段前缀(/zh、/en),不再是文件后缀 + * 2. fumadocs i18n parser='dot':foo.mdx→zh,foo.en.mdx→en + * 3. lib/source.ts 的 transformer:leetcode 目录下的 slug 逐段拼音化 + */ +function buildCanonicalDocUrl(docPath) { + let stem = docPath.replace(/\.mdx?$/i, ""); // 去 .md / .mdx + let locale = DEFAULT_LOCALE; + const localeSuffix = stem.match(/\.(en|zh)$/i); // .en / .zh locale 后缀 → URL 前缀 + if (localeSuffix) { + locale = localeSuffix[1].toLowerCase(); + stem = stem.slice(0, -3); + } + if (stem.startsWith(LEETCODE_PREFIX)) { + // leetcode 的 slug 解析复杂(中文塌缩 / 拼音 / 英文 canonical),统一走共享实现, + // 与 proxy.ts slug-map 和运行时 transformer 同源。 + const filename = stem.slice(LEETCODE_PREFIX.length); + return leetcodeCanonicalUrl(filename, leetcodeAsciiSlugByNumber); + } + const slug = stem.replace(/\/index$/i, ""); // index.mdx 对应目录根,去掉尾部 /index + return slug ? `/${locale}/docs/${slug}` : `/${locale}/docs`; +} + /** * 从仓库 git log 反推 GitHub id → login 映射,优先走 noreply 邮箱(GitHub 默认启用 privacy)。 * 格式: @@ -228,6 +281,9 @@ async function main() { } } + // leetcode 题号 → 英文 ASCII slug,给 buildCanonicalDocUrl 把翻译版指向英文 canonical + await loadLeetcodeAsciiSlugMap(); + // 构建 docId → {title, url} 映射,从 .source/index.ts 提取(Fumadocs 生成的 manifest) const rawData = await fs.readFile( path.join(__dirname, "../.source/index.ts"), @@ -257,9 +313,7 @@ async function main() { if (pathMatch && pathMatch[1]) { const docPath = pathMatch[1]; let title = docPath.replace(/\.mdx?$/, ""); - // 对于 Fumadocs 以及 Next.js 路由,以 index.md/mdx 结尾的文件实际上对应着目录的根路径 - // 所以我们把拼接出的 `/docs/xxx/index` 最后的 `/index` 去掉 - const url = `/docs/${title}`.replace(/\/index$/, "") || "/docs"; + const url = buildCanonicalDocUrl(docPath); let docIdFromFm = null; // 为了获取确切的 title 和 docId,我们需要打开实际的文件获取 frontmatter, @@ -305,18 +359,18 @@ async function main() { const githubId = entry.githubId.toString(); const points = entry.contributions * 10; // 每个 commit 暂定 10 分 - const contributedDocsInfo = entry.docIds.map((dbDocId) => { - // dbDocId 对应数据库里的 CUID (如 psc0xf6oa1m7g8s9wfwiojkf) - // 或之前的路径 (如 path/to/doc.mdx 需要去除后缀匹配) - const key = dbDocId.replace(/\.mdx?$/, ""); - const mappedInfo = docsMap[key]; - - return { - id: dbDocId, - title: mappedInfo ? mappedInfo.title : dbDocId, // 若没有匹配到页面,回退显示 docId - url: mappedInfo ? mappedInfo.url : `/docs/${key}`, - }; - }); + const contributedDocsInfo = entry.docIds + .map((dbDocId) => { + // dbDocId 对应数据库里的 CUID (如 psc0xf6oa1m7g8s9wfwiojkf) + // 或之前的路径 (如 path/to/doc.mdx 需要去除后缀匹配) + const key = dbDocId.replace(/\.mdx?$/, ""); + const mappedInfo = docsMap[key]; + // 内容树里找不到对应页面 = 孤儿 docId(文档已删除 / 改名后 docId 没续上)。 + // 不产出链接,否则排行榜会渲染一个必 404 的死链。 + if (!mappedInfo) return null; + return { id: dbDocId, title: mappedInfo.title, url: mappedInfo.url }; + }) + .filter((d) => d !== null); return { id: githubId, diff --git a/scripts/generate-leetcode-slug-map.mts b/scripts/generate-leetcode-slug-map.mts index 71ab2651..34001455 100644 --- a/scripts/generate-leetcode-slug-map.mts +++ b/scripts/generate-leetcode-slug-map.mts @@ -1,21 +1,26 @@ /** - * 构建时扫描 app/docs/career/interview-prep/leetcode/*.md(x), - * 把「中文/含特殊字符的文件名」→「拼音 slug」的映射写进 generated/leetcode-slug-map.json。 + * 构建时扫描 content/docs/career/interview-prep/leetcode/*.md(x),把「中文文件名」→ + * 「真实 canonical URL」的映射写进 generated/leetcode-slug-map.json。 * * 为什么要这个 map: - * lib/source.ts 里的 transformer 会把 leetcode 目录下含中文的文件名转成拼音 slug(对外 URL)。 - * GSC 旧索引里还存着 /docs/CommunityShare/Leetcode/<中文原文件名> 这类 URL, - * next.config.mjs 只做了前缀替换 wildcard,slug 没拼音化,跳过去还是 404。 - * proxy.ts (Next 16 middleware) 要在 edge 端 O(1) 查表把旧 URL 301 到正确拼音路径, - * 又不能把 pinyin-pro 的整本字典塞进 edge bundle,所以构建时先把映射固化成 JSON。 + * GSC 旧索引里还存着 /docs/CommunityShare/Leetcode/<中文原文件名> 和 + * /docs/career/interview-prep/leetcode/<中文文件名> 这类 URL。中文文件名经 + * fumadocs i18n 解析后的真实 slug 不可预测(带 `. ` 的会塌缩到英文 slug、带方括号 + * 的能独立成拼音页),手搓拼音对不齐。proxy.ts 要在 edge 端 O(1) 查表把旧 URL + * 301 到真实页面,又不能把 pinyin-pro 字典塞进 edge bundle,所以构建时固化成 JSON。 * - * 算法从 lib/leetcode-slug.ts 里 import,运行时和构建时共用同一实现, - * 消除双点维护。脚本必须用 tsx 执行(见 package.json prebuild)。 + * value 是完整 canonical 路径(含 locale 前缀):按题号优先指向英文版 /en + * (.en.md 一定 200),无英文兄弟才退回 /zh 拼音页。算法从 lib/leetcode-slug.ts + * import,与运行时 transformer / 排行榜生成共用同一真源。 */ import fs from "node:fs"; import path from "node:path"; import { fileURLToPath } from "node:url"; -import { convertSlugToPinyin } from "../lib/leetcode-slug.ts"; +import { + LEETCODE_DIR_SLUG, + buildLeetcodeAsciiSlugByNumber, + leetcodeCanonicalUrl, +} from "../lib/leetcode-slug.ts"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); @@ -48,31 +53,35 @@ function main() { .readdirSync(LEETCODE_DIR) .filter((f) => /\.(md|mdx)$/i.test(f)); - const map: Record = {}; - const collisions: { stem: string; existing: string; incoming: string }[] = []; + // 题号 → 英文 ASCII slug,给 leetcodeCanonicalUrl 把中文旧 URL 指向英文 canonical + const asciiByNumber = buildLeetcodeAsciiSlugByNumber(files); + // byName:当前中文命名文件的精确映射(覆盖无英文兄弟、只能走 zh 拼音页的情况)。 + const byName: Record = {}; for (const file of files) { const stem = stripSuffix(file); - const pinyinSlug = convertSlugToPinyin(stem); - if (pinyinSlug === stem) continue; // 无中文,不需要映射 - if (map[stem] && map[stem] !== pinyinSlug) { - collisions.push({ stem, existing: map[stem], incoming: pinyinSlug }); - } - map[stem] = pinyinSlug; + // 只给中文命名文件建映射:英文命名文件本身就是 canonical 目标,不必重定向自己; + // 纯 ASCII 的 _translated(如 219_translated)真实 slug == stem,旧 URL 直达即可。 + if (!/[^ -~]/.test(stem)) continue; + byName[stem] = leetcodeCanonicalUrl(stem, asciiByNumber); } - if (collisions.length) { - console.warn( - `[leetcode-slug-map] 检测到 slug 冲突 ${collisions.length} 条:`, - collisions, - ); + // byNumber:题号 → 英文页。兜住「中文文件已改名成英文、原中文 URL 在 GSC 里还活着」 + // 的情况(如 46.全排列 → 文件已是 46-permutations,byName 里没有,但题号 46 能命中)。 + const byNumber: Record = {}; + for (const [num, ascii] of asciiByNumber) { + byNumber[num] = `/en/docs/${LEETCODE_DIR_SLUG}/${ascii}`; } fs.mkdirSync(path.dirname(OUTPUT_FILE), { recursive: true }); - fs.writeFileSync(OUTPUT_FILE, JSON.stringify(map, null, 2) + "\n", "utf8"); + fs.writeFileSync( + OUTPUT_FILE, + JSON.stringify({ byName, byNumber }, null, 2) + "\n", + "utf8", + ); console.log( - `[leetcode-slug-map] 生成 ${Object.keys(map).length} 条映射 → ${path.relative(PROJECT_ROOT, OUTPUT_FILE)}`, + `[leetcode-slug-map] 生成 byName ${Object.keys(byName).length} 条 + byNumber ${Object.keys(byNumber).length} 条 → ${path.relative(PROJECT_ROOT, OUTPUT_FILE)}`, ); }