Skip to content

beyondyyh/geek_algorithms

Repository files navigation

如何高效的学习 & 刷题

坚持五毒神掌

五毒神掌: 即五遍刷题法,强调练习算法题要过遍数,算法题不仅是做一遍通过而已,而是要通过刻意练习达到对算法熟练的效果。

  • 第一掌: 5~15分钟思考,没有思路马上看题解,有时官方题解夹杂了数学推导、求证等非常复杂不一定适合自己,此时的做法是:先 BFS广度优先遍历 一下高赞回答,选择一个适合自己的(比如有图解或代码精简)题解,然后 DFS深度优先遍历 把自己全部精力投入进去理解它;
  • 第二掌: 不看别人代码,自己尝试写下来,写完之后可以debug直到leetcode通过状态;一个题可能会有多种解法,要多尝试不同解法;
  • 第三掌: 过了24小时之后,回过头来做重复的题,不同解法的熟练程度--->专项练习;
  • 第四掌: 过了一周之后,回过头来再做重复的题,刻意练习自己薄弱的环节;
  • 第五掌: 面试前1-2周进行恢复性训练。

五毒神掌核心策略: 刻意练习 + 不断反复,无他。

刷题思路

  • 先暴力求解,然后再根据执行时间复杂度不断考虑更优解;
  • 一维解决不了的问题,可以升维思考;
  • 提交通过之后,一定要看官方题解或高精回答,看看高手们是如何写的,把牛逼地方借鉴过来;

刷题方法

一定要动手练习、且践行五毒神掌,建议每天3-5题。做老题(重复)比做新题更加重要: 90%老题,10%新题

  • 不要死磕,敢于死记硬背,承认数据结构和算法有其客观复杂性,5~15分钟没有思路很正常,马上看题解或高精回答;
  • 最佳方法: 坚持五毒神掌,刻意练习 + 不断反复,记忆(脑图)+ 反复(五毒神掌)
  • 最大误区: 题目只做一遍!!

刷题模板

AlgoMooc

About

Geek算法训练

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages