主题
前端面试算法教程系列(JS)
面向:算法几乎忘光、准备用 JavaScript 刷前端面试题的学习者。
原则:专题 + 精讲题 + 练习清单;先建立直觉,再默写模板。
平台:LeetCode(中文站即可),语言锁 JavaScript。
阶段性总结(刷题)
| 阶段 | 文档 | 一句话 |
|---|---|---|
| Easy 底子摸底(07-20~07-25) | 独立手撕 Easy 摸底 | 不看解写完会的简单题;下一阶段升模板 + 补滑窗/对撞 |
与其他文档的关系
| 文档 | 职责 |
|---|---|
| 本系列 | 学什么、怎么讲:从零重建算法与 JS 刷题手感 |
| 算法学习专项 | 每天刷几题的打卡节奏、配额(A/B/C);内容路线以本系列为准 |
| 个人暑假计划 | 算法 / Go / 前端三线时间分配 |
本系列另起零基础讲法,不依赖蓝桥或 C++ 先验。
怎么读
| 节奏 | 建议 |
|---|---|
| 平日 60~90′ | 读 1 篇 + 敲完精讲题(LeetCode 提交) |
| 练习清单 | 当天做 1~2 道,或攒到周末集中 |
| 卡壳 15~20′ | 看提示/题解标签 → 合上再自己写一遍 JS |
| 复盘 | 每题留一句「套路」+ 3 个边界用例 |
文章索引(建议顺序)
阶段 A · 地基
| # | 文档 | 你学完应能做什么 |
|---|---|---|
| 01 | 怎么学 + 复杂度 + LeetCode 上手 | 说清 O(1)/O(n)/O(n²);独立注册并提交第一题 |
| 02 | JS 刷题语法速成 | 熟练用数组、Map/Set、sort 比较函数 |
| 03 | 先暴力再优化 · 两数之和 | 对同一题写出暴力与哈希两种解 |
| 04 | 数组基础题手感 | 独立完成移除元素、合并有序数组等 Easy |
阶段 B · 数组高频套路
| # | 文档 | 你学完应能做什么 |
|---|---|---|
| 05 | 对撞双指针 | 默写左右指针模板;讲清三数之和去重思路 |
| 06 | 同向双指针 / 快慢指针 | 用快慢/读写指针原地改数组 |
| 07 | 滑动窗口 | 默写窗口扩缩框架;做无重复最长子串 |
| 08 | 前缀和 | 用前缀和 O(1) 求区间和;理解「和为 k」 |
| 09 | 哈希表进阶 | 异位词分组、最长连续序列 |
阶段 C · 栈队列与链表
| # | 文档 | 你学完应能做什么 |
|---|---|---|
| 10 | 栈 | 括号匹配、最小栈、单调栈入门 |
| 11 | 队列与层序思想 | 用数组模拟队列;理解 BFS 一层一层 |
| 12 | 链表基础 | 反转链表、哨兵节点删节点 |
| 13 | 链表进阶 | 环检测、相交、合并两有序链表 |
阶段 D · 二分与二叉树
| # | 文档 | 你学完应能做什么 |
|---|---|---|
| 14 | 二分查找标准模板 | 默写不越界的 l/r/mid 模板 |
| 15 | 二分变体 | 旋转数组搜索;建立「答案二分」直觉 |
| 16 | 二叉树遍历 | 前中后序 + 层序都能写 |
| 17 | 二叉树递归经典 | 深度、对称、路径和、直径 |
| 18 | BFS 层序 + BST | 层序遍历;BST 搜索/校验 |
阶段 E · 回溯与 DP
| # | 文档 | 你学完应能做什么 |
|---|---|---|
| 19 | 递归心智与回溯框架 | 口述「做选择 / 撤销」;写出子集 |
| 20 | 回溯经典 | 全排列、组合总和 |
| 21 | DP 入门 · 一维 | 爬楼梯、打家劫舍;会定义一维状态 |
| 22 | DP 二维入门 | 不同路径;LCS 状态定义 |
阶段 F · 字符串与面试收束
| # | 文档 | 你学完应能做什么 |
|---|---|---|
| 23 | 字符串常考 | 回文、公共前缀、atoi 思路 |
| 24 | 前端面试题单与口述模板 | 按优先级刷题;面试四步讲题 |
推荐入口
- LeetCode:https://leetcode.cn/
- 本系列从 01 · 怎么学与复杂度 起读,到 24 · 题单与口述 收束。
每日刷题复盘
按日放代码:blog/算法/【日期】/<题号>-<题名>/index.js(代码目录不当博客看)。
复盘文写在同一日期根目录:每题一文 + 每日刷题总结.md。
| 日期 | 总结入口 |
|---|---|
| 2026-07-20 | 每日刷题总结(1 · 160 · 283) |
| 2026-07-21 | 每日刷题总结(206 · 234) |
| 2026-07-22 | 每日刷题总结(21 · 141 · 94 · 104 · 101) |
| 2026-07-23 | 每日刷题总结(20 · 35) |
| 2026-07-24 | 每日刷题总结(70 · 121) |
| 2026-07-25 | 每日刷题总结(136 · 169 · 118) |
| 2026-07-27 | 每日刷题总结(1 二刷 · 49 · 128) |
| 2026-07-28 | 每日刷题总结(15 · 11 · 283 二刷) |
| 2026-07-29 | 每日刷题总结(3 · 438) |
| 2026-07-30 | 每日刷题总结(53 · 560) |
| 2026-07-31 | 每日刷题总结(56) |
