- xiao9di 的博客
算法学习:坚持“三刷五步”训练法
- 2022-8-27 20:46:23 @
初学者:分类刷 -> 后期:综合刷
一刷:
每个“小类别”的代表性题目,各刷几道, 此时如果需要看题解,很正常
二刷:
复习代表性题目,“小类别”合成“大类别”, 刷该分类更多的题目,举一反三,在尽量少的题示下完成。
三刷:
综合性题目,尽量独立实现+测试
第一步 理解题面
想一想更多的列子和测试数据,看看有没有遗漏的地方, 提炼题止中的关键信息、变化信息, 面试的时候, 跟面试官确认自己的理解
第二步 部分实现
无论什么题目, 先尝试实现一个朴素解法(比如搜索), 或者是部分场景下的解法。尽量让自己的解法更优, 覆盖更多的场景
第三步 有提示解答
看提示 != 看题解 可以先看题解的一部分, 试试能否找到突破口 例如题目类别,题解标题,时间复杂度,一个小结论。 面试是一个交互性的过程,你可以与面试官交流获取适当的提示 要能明白面试官在引导你什么, 这就要从平时练起
第四步 独立解答
独立完成求解,同时注意测试 初期训练时通常可以从第二步的搜索出发 1、搜索时关注了哪些信息? 2、它们有没有冗余?能不能更好地维护? 3、有没有同类的子问题?
第五步 写题解
尝试给别人讲(面试的时候 也是要讲的), 尝试分析对比各种不同解法的优劣 题解也可以写成日 记的形式, 记录自已遇到的难点 有助于加深自己的理解,以后也可以回看自己的题解,快速复习