推荐 在线阅读 (Github在国内访问经常不稳定)
推荐 Gitee同步
- 介绍 :本项目是一套完整的刷题计划,旨在帮助大家少走弯路,循序渐进学算法,关注作者
- 正式出版 :《代码随想录》 。
- PDF版本 :「代码随想录」算法精讲 PDF 版本 。
- 算法公开课 :《代码随想录》算法视频公开课 。
- 最强八股文 :代码随想录知识星球精华PDF 。
- 刷题顺序 :README已经将刷题顺序排好了,按照顺序一道一道刷就可以。
- 学习社区 :一起学习打卡/面试技巧/如何选择offer/大厂内推/职场规则/简历修改/技术分享/程序人生。欢迎加入「代码随想录」知识星球 。
- 提交代码 :本项目统一使用C++语言进行讲解,但已经有Java、Python、Go、JavaScript等等多语言版本,感谢这里的每一位贡献者,如果你也想贡献代码点亮你的头像,点击这里了解提交代码的方式。
- 转载须知 :以下所有文章皆为我(程序员Carl)的原创。引用本项目文章请注明出处,发现恶意抄袭或搬运,会动用法律武器维护自己的权益。让我们一起维护一个良好的技术创作环境!
很多刚开始刷题的同学都有一个困惑:面对leetcode上近两千道题目,从何刷起。
大家平时刷题感觉效率低,浪费的时间主要在三点:
其实我之前在知乎上回答过这个问题,回答内容大概是按照如下类型来刷数组-> 链表-> 哈希表->字符串->栈与队列->树->回溯->贪心->动态规划->图论->高级数据结构,再从简单刷起,做了几个类型题目之后,再慢慢做中等题目、困难题目。
但我能设身处地的感受到:即使有这样一个整体规划,对于一位初学者甚至算法老手寻找合适自己的题目也是很困难,时间成本很高,而且题目还不一定就是经典题目。
对于刷题,我们都是想用最短的时间按照循序渐进的难度顺序把经典题目都做一遍,这样效率才是最高的!
所以我整理了leetcode刷题攻略:一个超级详细的刷题顺序,每道题目都是我精心筛选,都是经典题目高频面试题,大家只要按照这个顺序刷就可以了,你没看错,README已经把题目顺序都排好了,文章顺序就是刷题顺序!挨个刷就可以,不用自己再去题海里选题了!
而且每道题目我都写了的详细题解(图文并茂,难点配有视频),力扣上我的题解都是排在对应题目的首页,质量是有目共睹的。
那么现在我把刷题顺序都整理出来,是为了帮助更多的学习算法的同学少走弯路!
如果你在刷leetcode,强烈建议先按照本攻略刷题顺序来刷,刷完了你会发现对整个知识体系有一个质的飞跃,不用在题海茫然的寻找方向。
按照先面的排列顺序,从数组开始刷起就可以了,顺序都安排好了,按顺序刷就好。
在刷题攻略中,每个专题开始都有理论基础篇,并不像是教科书般的理论介绍,而是从实战中归纳需要的基础知识。每个专题结束都有总结篇,最这个专题的归纳总结。
如果你是算法老手,这篇攻略也是复习的最佳资料,如果把每个系列对应的总结篇,快速过一遍,整个算法知识体系以及各种解法就重现脑海了。
这里每一篇题解,都是精品,值得仔细琢磨。
我在题目讲解中统一使用C++,但你会发现下面几乎每篇题解都配有其他语言版本,Java、Python、Go、JavaScript等等,正是这些热心小伙们贡献的代码,当然我也会严格把控代码质量。
所以也欢迎大家参与进来,完善题解的各个语言版本,拥抱开源,让更多小伙伴们受益。
准备好了么,刷题攻略开始咯,go go go!
「代码随想录」学习社区
编程语言
工具
求职
算法性能分析
双指针法基本都是应用在数组,字符串与链表的题目上
题目分类大纲如下:
题目分类大纲如下:
题目分类大纲如下:
动态规划专题已经开始啦,来不及解释了,小伙伴们上车别掉队!
背包问题系列:
打家劫舍系列:
股票系列:
子序列系列:
图论正式发布
(持续更新中....)
以上题目是重中之重,大家至少要刷两遍以上才能彻底理解,如果熟练以上题目之后还在找其他题目练手,可以再刷以下题目:
这些题目很不错,但有的题目是和刷题攻略类似的,有的题解后面还会适当补充,所以我还没有将其纳入到刷题攻略。一些题解等日后我完善一下,再纳入到刷题攻略。
各类基础算法模板
点此这里查看LeetCode-Master的所有贡献者。感谢他们补充了LeetCode-Master的其他语言版本,让更多的读者受益于此项目。
大家好,我是程序员Carl,哈工大师兄,《代码随想录》作者,先后在腾讯和百度从事后端技术底层技术研发。
添加如下企业微信,会自动发送给大家PDF版本,顺便可以选择是否加入刷题群。
添加微信记得备注,如果是已工作,备注:姓名-城市-岗位。如果学生,备注:姓名-学校-年级。备注没有自我介绍不通过哦