我发现自己最近写这个系列非常上心,而且废话特别多,但总有一种“啊这个我好想分享,那个也想讲一讲”的感觉。如果废话太多,希望大家包涵😌
今天主要想跟大家聊聊我自己刷Leetcode上面算法题的方法,希望给大家一些借鉴。截止这周,Leetcode上已经有1500+道算法题了,这些题里面有一些是科技公司面试原题,还有一些是每周的weekly contest里面的题加入到题库中的。
我个人的经验是按照下面这几步来刷题。
Step 1 - 刷题初期,按照数据结构tag做题
Leetcode上面的算法题有按照不同的tag分类,很好的一点是大家可以根据不同的数据结构的tag来有针对性的训练。刚开始刷题,可以从相对简单的array做起,再慢慢拓展到BFS,DFS,DP等。
需要注意的是,比如array虽然是相对简单的数据结构,却暗藏玄机,简而言之,有些DP的题库也可能会混在其中。
Step 2 - 刷题中期,按照frequency/公司tag
刷题中期是指在经过初期的训练之后,已经形成了自己的知识结构,知道针对不同的题型应该用什么方法来解决。一个可能的衡量标准就是,遇到一个没见过的题,至少知道brute force的解法。这时候其实就可以开始投简历安排面试啦。有了面试,就可以按照不同公司的常见题目来做咯。
Step 3 - 刷题后期,回归掌握不到位的数据结构
刷到后期,大家应该在心里都有一些感觉,自己对哪种数据结构掌握得不太好,这时候就建议大家可以再次按照data structure的分类来做题,重点攻克自己的薄弱环节。
我觉得刷题很像准备高考,题海战术最简单粗暴,但是更好的策略是找到自己的短板再集中突破。🧏♀️
最新评论 4
:都是干货!太喜欢这个系列了
:希望有帮助!
:我觉得你这个转码101比pd101还吸引我
:哈哈哈哈真的吗?看来加些编舞说不一定椰子会更喜欢