关于
这个站点存在的目的主要是为了记录一下我在刷leetcode时的一些解题思路以及解法。而我刷leetcode的目的也很简单,一是为了系统地刻意练习和巩固我的数据结构和算法基础,二是希望通过做这些题能够不断锻炼和提升编程能力和视野。而解题的编程语言我选择了go,无它,只是喜欢而已。当然,当我二刷三刷的时候,我会考虑用其他语言,比如现在“万能”的Javascript或者“世界上最好的语言”PHP来做。
另外,所有的解法的完整代码放于github(https://github.com/scofieldpeng/leetcode),如果这些东西对看到此文的你有所帮助,甚幸。若你有什么想和我交流的话,可以通过导航的博客找到我的联系方式:-)
=====下面是我在刷题过程中不断迭代和优化我的一些刷题方法,希望对你有用=====
最开始我刷这些题的流程和规划是:
- 按照leetcode上面的tag来刷题,第一遍只刷easy和medium的题目。每道题目思考15分钟,如果思考不出来,那么看solution,如果没有solution的话那看discuss的高分解答。
- 自己上手写实际的代码,通过后,看下和其他人的解法的区别,为什么别人的解法比我的更加优秀。
- 思考和总结其中的套路,发布到本博客中。
- 每次刷完一个tag,再次重新做一次该tag的题目,如果此时仍然还不能做出来该题目,那么将该题目直接纳入复习库进行下一轮的再次刷题。
2019年11月1日更新
我觉得应该这样的tag来更有趣,那就是,先选择tag,然后难度,然后按照序号刷,因为序号在前面的,肯定是最先发布的,不然不按照序号排序leetcode默认是按照相关度排序?我的想法是,最先的题,肯定是比较经典的,后面的题可能是一些变种或者新加入的,按照序号来做的话效果应该更好。
2020年1月3日更新
发现接近一个星期只想刷题而拖延写刷题思路,为了改掉这个毛病,我决定每周星期天的时候,把下周要刷的3道题目直接先贴到这上面来,然后这样就能省下一点时间了。