cswork / 模板打开 500 路题单

500 路 · 35 站 · 4 种语言

每一站的代码模板,一页看完。

灵神题单 500 题按 35 个专题排成一条线路,每一站一页速查:3 条要点、3 个易错点,以及 Python、C++、Java、Go 四种可运行的代码模板。

知识点依赖图35 站谁是谁的先修,一张图看清;还有系统设计和行为面试的学习路线。Core Skills:手写数据结构与算法36 道题,不调库亲手实现哈希表、堆、LRU、排序、最短路、并查集、线段树等,还有多线程并发题和面向对象设计(LLD)题,四种语言都能判题。算法术语中英对照差分、状压、换根的英文怎么说:每个术语配一句面试例句,可以朗读,也能做成复习卡。

点越多,这一站对应的面经越多。

线性结构01–08

  1. 第 01 站:原地数组,面经热度 1/3读写双指针原地压缩
  2. 第 02 站:哈希计数,面经热度 1/3边扫边查的哈希表
  3. 第 03 站:字符串,面经热度 1/3KMP 前缀函数匹配
  4. 第 04 站:双指针滑窗,面经热度 2/3可变长度滑动窗口
  5. 第 05 站:前缀和区间,面经热度 2/3前缀和 + 哈希计数
  6. 第 06 站:二分查找,面经热度 1/3左闭右开区间找「第一个为真」
  7. 第 07 站:单调栈与堆,面经热度 3/3单调栈:下一个更大元素
  8. 第 08 站:贪心调度,面经热度 1/3按结束时间排序选区间

链表与树09–13

  1. 第 09 站:链表,面经热度 1/3反转链表 + 快慢指针
  2. 第 10 站:树的遍历,面经热度 1/3按层 BFS
  3. 第 11 站:树上路径,面经热度 1/3后序返回单边贡献,全局记录拐弯路径
  4. 第 12 站:树的构造,面经热度 1/3前序定根,中序分左右
  5. 第 13 站:二叉搜索树,面经热度 1/3迭代中序:按顺序走 BST

图论14–18

  1. 第 14 站:网格搜索,面经热度 2/3多源 BFS,一步扩一圈
  2. 第 15 站:并查集,面经热度 1/3并查集:路径压缩 + 按大小合并
  3. 第 16 站:拓扑排序,面经热度 1/3Kahn 算法:入度为 0 的先出队
  4. 第 17 站:最短路,面经热度 1/3Dijkstra:堆 + 懒删除
  5. 第 18 站:生成树Kruskal:按边权排序 + 并查集

回溯19–21

  1. 第 19 站:回溯枚举,面经热度 1/3选择、递归、撤销;同层跳过重复
  2. 第 20 站:拆分构造,面经热度 1/3按切分点回溯 + 回文预处理
  3. 第 21 站:剪枝搜索,面经热度 1/3N 皇后:按列和两条对角线剪枝

动态规划22–31

  1. 第 22 站:动规入门,面经热度 1/3一维 DP + 滚动变量
  2. 第 23 站:网格动规,面经热度 1/3网格 DP 压成一行
  3. 第 24 站:背包计数,面经热度 1/30/1 背包倒序,完全背包正序
  4. 第 25 站:子序列,面经热度 1/3LIS:tails 数组 + 二分
  5. 第 26 站:字符串动规,面经热度 1/3双串 DP:dp[i][j] 看两个前缀
  6. 第 27 站:回文区间,面经热度 1/3区间 DP:左端点倒序枚举
  7. 第 28 站:状态机,面经热度 1/3以 i 结尾的状态:同时记最大和最小
  8. 第 29 站:股票买卖,面经热度 1/3持有 / 冷却 / 空仓三状态
  9. 第 30 站:分段调度按结束时间排序 + 二分找上一个兼容任务
  10. 第 31 站:树形博弈,面经热度 1/3树形 DP:每个结点返回(选,不选)

设计与位运算32–35

  1. 第 32 站:迭代器设计,面经热度 1/3惰性迭代器:hasNext 负责前进
  2. 第 33 站:缓存索引,面经热度 3/3LRU:哈希表 + 双向链表
  3. 第 34 站:字典树序列化,面经热度 1/3字典树:结点存孩子和计数
  4. 第 35 站:位运算,面经热度 1/3位运算小工具与快速幂