BOUNDARY
这里的 DSA 是“够用的技术表达训练”:能读懂 AI 生成的代码是否离谱,能和工程师讨论方案,不把课程变成 LeetCode 打卡。
建议学习顺序
01 数组与哈希 Two Sum、去重、计数、Top K,用来训练 O(1) 查找和复杂度表达。
02 双指针与滑窗 窗口扩缩、边界条件、字符串处理,训练状态维护能力。
03 栈、队列、二分 匹配、单调结构、边界搜索,训练模板化思考。
04 树与图 DFS、BFS、拓扑排序,训练流程建模和依赖分析。
05 动态规划 Lite 只保留常见状态定义和转移表达,不追求竞赛难度。
每题复盘模板
1. 这题的数据规模是什么? 2. 暴力解法为什么不够? 3. 使用了什么数据结构或模式? 4. 时间复杂度和空间复杂度是什么? 5. 最容易错的边界条件是什么? 6. 如果交给 AI 工具生成代码,我要如何验收?