Algorithm Practice

算法题训练路线

先读懂输入、输出和约束,再讲出暴力解、优化依据与边界。这里整理练习顺序;写代码和提交仍在力扣完成。

30道起步题

84道扩展题

30天练习安排

练习方法

每道题先回答四个问题

  1. 01

    题目在求什么

    用自己的话重述输入、输出和关键限制。

  2. 02

    最直接的做法是什么

    先找到能覆盖所有情况的暴力解,并算出代价。

  3. 03

    哪里能减少重复工作

    指出查找、计算或枚举中的重复,再选择数据结构或状态。

  4. 04

    为什么正确

    说清不变量、边界情况,以及时间和空间复杂度。

起步题单

先把 30 道题做稳

这 30 道按四周安排。点击题目进入拆解训练台,读题和提交代码可前往力扣。

扩展练习

30 天计划

前 28 天覆盖 84 道不同题;第 29 天复做重点题,第 30 天模拟面试。题单是个人训练安排,不代表特定公司的真实考频。

第一阶段:数组、哈希、双指针

第二阶段:滑动窗口

第三阶段:链表

第四阶段:栈、队列、堆

第五阶段:二叉树

第六阶段:二分查找

第七阶段:回溯

第八阶段:图、DFS、BFS

第九阶段:动态规划

第十阶段:工程高频题

第十一阶段:综合面试题

第 29 天 · 复做核心题

  1. 3. Longest Substring Without Repeating Characters ↗
  2. 15. 3Sum ↗
  3. 215. Kth Largest Element in an Array ↗
  4. 200. Number of Islands ↗
  5. 236. Lowest Common Ancestor of a Binary Tree ↗
  6. 322. Coin Change ↗
  7. 146. LRU Cache ↗

第 30 天 · 模拟面试

选一道 Easy 和两道 Medium,限时完成读题、讲解思路与编码。记录卡住的位置,再决定下一轮复习什么。