分享|如何科学刷题?

分享|如何科学刷题?合理运用心流通道 科学刷题 快乐刷题 怎么刷算法题 按照什么顺序刷题 如何科学地提高算法能力 如果你刚开始刷题 还不熟悉基本编程语法 和常用库函数 推荐先刷力扣官方的入门题单 新 动计划 编程入门 有两道数据库的题 可以跳过 有了一些简单题的积累 就可以开始刷我的题单啦 核心刷题路线 下文提到的 难度分 写在我的题单中 题目右侧的数字即为难度分 刷题顺序 题单 必做内容

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



科学刷题 算法题单 灵茶山艾府 灵神

合理运用心流通道,科学刷题,快乐刷题!

怎么刷算法题?按照什么顺序刷题?如何科学地提高算法能力?

如果你刚开始刷题,还不熟悉基本编程语法常用库函数,推荐先刷力扣官方的入门题单

  • 「新」动计划 · 编程入门(有两道数据库的题,可以跳过)

有了一些简单题的积累,就可以开始刷我的题单啦~

核心刷题路线

核心刷题路线.png

下文提到的「难度分」写在我的题单中,题目右侧的数字即为难度分。

刷题顺序 题单 必做内容 备注编程入门有两道数据库的题,可以跳过滑动窗口定长滑动窗口、不定长滑动窗口完成难度分 的题目, 下同二分算法二分查找二分答案选做,觉得困难可以直接跳过数据结构常用枚举技巧、前缀和、栈、队列、堆「新手村常用工具」链表、树、回溯二叉树 DFS理解递归,为动态规划做铺垫网格图网格图 DFS进一步理解递归链表、树、回溯回溯进一步理解递归动态规划前六章见下

关于动态规划的备注:动态规划是新人的一道坎,唯有坚持多练,至少要做 道才算入门。考虑到动态规划题单难度分 的题目并不多,可以扩大到难度分 的题目。

完成上表后,恭喜你通关新手村,正式踏入算法的广阔世界!见后面的完整题单,刷题顺序随意。

刷题要点

  • 按照专题刷题,而不是随机刷题。同一个专题,一个套路可以解决多个题目,刷题效率高。此外,这能让你从不同的角度去观察、思考同一个算法,从而深刻地理解算法的本质
  • 螺旋上升式学习:先完成难度分 的题目。把各个题单、各个知识点的基础题刷一遍,再刷更难的题目。难度分低的题目一般只会考察一个知识点,而难度分高的题目会同时考察多个知识点。

请结合 基础算法精讲 学习。

推荐安装插件 LeetCodeRating|显示力扣周赛难度分,可以在题单中自动标记做过的题目。(注意:需要打开浏览器的“管理扩展”,开启开发者模式/开发人员模式。)

完整题单

  1. 滑动窗口与双指针(定长/不定长/单序列/双序列/三指针/分组循环)
  2. 二分算法(二分答案/最小化最大值/最大化最小值/第K小)
  3. 单调栈(基础/矩形面积/贡献法/最小字典序)
  4. 网格图(DFS/BFS/综合应用)
  5. 位运算(基础/性质/拆位/试填/恒等式/思维)
  6. 图论算法(DFS/BFS/拓扑排序/基环树/最短路/最小生成树/网络流)
  7. 动态规划(入门/背包/划分/状态机/区间/状压/数位/数据结构优化/树形/博弈/概率期望)
  8. 常用数据结构(枚举技巧/前缀和/差分/栈/队列/堆/字典树/并查集/树状数组/线段树)
  9. 数学算法(数论/组合/概率期望/博弈/计算几何/随机算法)
  10. 贪心与思维(基本贪心策略/反悔/区间/字典序/数学/思维/脑筋急转弯/构造)
  11. 链表、树与回溯(前后指针/快慢指针/DFS/BFS/直径/LCA)
  12. 字符串(KMP/Z函数/Manacher/字符串哈希/AC自动机/后缀数组/子序列自动机)

按照题单刷题可以让你快速渡过萌新阶段。然而,你会提前知道题目类型,跳过了一些思考步骤。但比赛/笔试是不会告诉你这题是什么类型的,把动态规划想成贪心的大有人在。

渡过萌新阶段后,可以偶尔随机刷题,锻炼自己判断题目类型的能力。

  1. 打开 难度练习。
  2. 在设置中关闭算法标签。
  3. 选择适合自己的难度范围。

:这个刷题方法的优缺点是什么?

:优点是,做题时不知道题目类型,可以增强实战能力;查漏补缺,检验自己的学习成果。缺点是,知识点零散,不如题单那么系统。综合来说,可以每隔一段时间随机刷题,检验自己的学习成果。

如何科学刷题-2.png

如果即将面试,时间紧迫,可以刷 HOT 100,这些都是经典面试题。

另外还有一个 面试 150 题单,其实它和 HOT 100 有很多重复题目,如果刷完 HOT 100 还有时间的话,可以刷这个 150 题单。

:初次接触一个专题时,我应该如何学习?

:可以把专题中的第一道题当作例题,学习题解中的理论讲解。其余题目当作配套练习。

:做题没思路,思考多久可以看题解?

:十分钟到数小时都可以。如果看完题解觉得题解很妙,那就学到了一个自己不会的技巧。如果看完题解觉得自己是xx,可以再多思考下,或者换个时间段(早/中/晚/洗澡的时候)思考,说不定就有思路了。(注:这在心理学上叫做孵化效应,即在离开问题后,大脑会在无意识中处理问题,从而在重返问题时突然产生新的思路。)

:很多题目没有思路,感到焦虑怎么办?

:学算法是需要时间沉淀的,坚持刷题吧。现在不会的算法/题目,过段时间再来看,会有新的感悟。对于初次刷题的同学,推荐先完成难度分低于 的题目,跳过暂时无法理解的题目。

:如何根据数据范围,估计题目允许的时间复杂度,从而估计要用什么算法?

:一般每秒能执行约 次运算(Python 可能要除以 ),可以据此估计能通过的时间复杂度,如下表所示。

数据范围允许的时间复杂度适用算法 举例 或 回溯、暴力搜索状态压缩 DP折半枚举三重循环的 DP、Floyd二重循环的 DP、背包大多数题目都是这个范围,所以各类算法都有线性 DP、滑动窗口判断质数 或 二分、快速幂、数学公式

:实际做题时,注意常数因子的影响。例如哈希表比数组慢。


如果您还有其他疑问或建议,欢迎在下方评论。

小讯
上一篇 2026-04-26 23:52
下一篇 2026-04-26 23:50

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/280535.html