算法篇目录汇总

前言

从去年9开始刷算法题,截止到今天,陆续用了大概半年的时间,已经完成《剑指Offer》中的题目,LeetCode中Easy难度的题型也已经基本完成了。由于相关算法博客日益增多,所以建立此目录方便快速查找。另外有一些题型在初期分类不是很合适,所以在完成Easy题之后对所有种类了解的情况下,重新修改一些题的分类。

目录

总结

目前收录大概不到300题,但是并没有追求数量,每道题都是先思考用自己的方法做,然后再不断地优化,最后结合Solution和Discuss里大神的写法进行修改。一开始有时候一道题想好几天,后来一天可以完成5,6道题,期间也通过Weekly Contest来测试自己,前几次只能做出一两道题,后来有时候甚至最后一题也差点几步就完成,收货颇丰。刷到差不多后半段的时候,基本上有些题就是换汤不换药,可以用之前的解法做出来,或者是几道题的步骤加起来。

关于分类,因为LeetCode中的分类其实是多对多的关系,这里博客中并不想记录重复的题,所以分类是没有按照LeetCode中来分的,有时候会根据题目分类,有时候会根据答案的最优解分类。答案中标记绿色的部分表示是最优解,但不唯一;极个别用红色标出为错误答案,因为具有强烈的误导性,所以记录下来。

期间在Discuss中单方面结识了两位大神,一位叫Stefan Pochmann,另一位叫lee215。两者都是万星大神,博客中有一些题的最优解都是这两位的答案。前者在小题号时比较活跃,后者在大题号时较活跃,他们俩的答案总是给人眼前一亮的感觉,从中学习到了很多,也能应用到其它一些题上。

关于周赛,周赛的时候感觉又和刷别的题不一样,周赛一般的解法偏向于解答速度,有什么现成的库就直接用,哪个解法最稳用那个,因为Bug会有惩罚时间,排行榜前十的也是这么做的。而平时刷题更倾向于时间复杂度和空间复杂度低,并且写法优雅。

有时候Discuss中也没有自己满意的答案,也会自己冥思苦想想出一个优雅的解法,然后Share给大家,获得几个点赞。这种赞同还有看到Contest上升的排名,都会让自己信心十足,去面对更加艰难的挑战。2019年给自己定了一个小目标,解题达到500+,rating达到1800+,star达到200+。接下来准备重新整理一下目前的题,然后按照类别进行一次解答,疑难题会记录到LeetCode的flashcard中反复训练。不断告诉自己,不要为了刷题而刷题,重要的是思考的过程。然后优化一些还不够优雅的答案,最后迈向Medium难度。