LeetCode刷题专栏第一篇--思维导图&时间安排
昨天是元宵节,过完元宵节相当于这个年正式过完了。不知道大家有没有投入继续投入紧张的学习工作中。年前我想开一个Leetcode刷题专栏,于是发了一个投票想了解大家的需求征集意见。投票于2019年2月1日截止,共有204人参加,根据投票结果显示,大多数人希望通过刷LeetCode能够提高代码水平,在工作中和面试中有帮助,然而有一半人没有接触过Leetcode,一半人接触过,但只刷了一点。几乎所有投票的人刷题的数量都小于100题,说明大家对刷题的认识和热情都还比较浅,可能是因为刷题比较枯燥,又不能马上带来立竿见影的效果,所以不能长期坚持下去。对于本专栏的形式,有一半人希望以专题的形式,先讲知识点,再举例包含该知识点的题,每周发布一篇,其次希望建立微信打卡群,大家一起刷题打卡,相互讨论。大家会的编程语言以python、c++、java(排名分先后)为主,并希望建立一个月或者三个月的刷题计划,并加入计划和打卡群中。
从微信投票结果来看,我发现大家的刷题经验相对比较少,可能是不知道刷题能带来哪些直接的好处,大多数除了面试前刷一些,平时工作中可能压根不会碰。经历了去年的裁员潮后,现在这个时间,可能很多人处于待业找工作或者已经开始找工作的状态,一般对于跳槽而言,通常有种说法,叫金三银四和金九银十,所以如果想要换工作的同学,这个时候正是刷题的好时候。众所周知,LeetCode是一个刷题网站,在16年左右的时候还只有400题左右,结果17、18年数量激增,现在已经有996道题,这么多道题,我们是不是需要都刷完,如何在短时间内快速刷完,尽量不遗漏重要知识点,刷题方法和顺序是很重要的。我本人的刷题经验并不多,之所以开这个专栏也是希望和大家一起刷题打卡,争取在有限的时间内刷完基本的题型。
专栏规划
时间:两个月。2019年2月20日~2019年4月21日
计划目标:Leetcode前400题。(前400题基本包括了绝对大部分题型,反复刷2~3遍面试数据结构这块基本不会有什么大问题)
专栏形式:每周四周五发布知识点和题型讲解(后面会公布整个刷题计划的思维导图和时间安排),然后将包含该知识点的题目放出来让大家刷,周一~周三会抽一天针对微信打卡群里的问题写一篇总结发在微信群里。
参与形式:文末会放出刷题打卡群,参与者需付费99元参与,放入奖金池,最后按照坚持下来的人数平分这个奖金池。如果能坚持到最后刷题结束,99元入群费原封不动退还,如果有人没有坚持下来,就作为奖金池的一部分最后平分。举个例子,如果有100人参与,每人99元,奖金池为9900元,两个月后只有50人坚持下来,那么每人平分下来就是198元。
刷题网站:www.leetcode.com 本刷题专栏主要用英文版Leetcode刷题(有中文版力扣,但是相对于英文版的Leetcode,少了Discuss区,这里面有很多精华,所以建议大家用英文版刷题)。所以大家在英文版Leetcode官网上注册一个账号,最好是空白账号,把以前的记录都清零,从头开始。
如何检查:每周五在群里统计上周每人刷题的数量,大家自己在群里自爆,发submission截图,然后我统计到excel里看每周大家的刷题情况。(如果有更好的方式也欢迎提建议,我的检查方法主要靠自觉 - -)
微信群规:因为是第一次建打卡群,所以不希望这个群最后流于形式,大家设置一个消息免打扰就忘记刷题了。所以我初步拟定了几条群规,希望参与的人能遵守:
1.本群不要发广告,不要开车,不要发与刷题无关的内容!发一次提醒,两次直接踢。我希望大家刷题就好好刷题,不要在群里发一些乱七八糟的东西,希望大家能理解。可以发每天刷题遇到的问题,或者坚持不下来了想求助也可以,也可以发在公司面试时遇到的题目等都可以。
2.每周四周五放出刷题知识点和题型总结,然后下周五下午五点以前,大家汇报自己的刷题进度+submission截图,我周六统计后,公布还在坚持的人数。
3.和气谈论,就事论事,不要人身攻击。
入群方式:已截止
LeetCode前400题思维导图
思维导图如下
注:思维导图的内容和顺序可能会不断修改,在我的github中会不断更新leetcodebook-github(https://github.com/huxiaoman7/leetcodebook)
两个月刷题计划安排
两个月的时间还是比较紧张的,除了我每周四、周五会在公众号定期发布知识点和题型总结外,平时也需要多练习。前四周以基础数据结构为主,包括数组、链表、栈与队列、二叉树与图、字符串以及其他数据结构(set、map、hash等)。后四周主要以算法为主,包括排序算法、二分查找、搜索算法、动态规划这些常见的算法,最后一周安排的是数学类题目,和其他常见的题型总结。具体的时间安排如下:
Q&A
1.如果我的基础比较差,跟不上大家的刷题进度怎么办?
如果基础较差,只能平时或周末抽时间多下点功夫补补了。可以先刷一下中文版力扣的初级算法专题,基本涵盖了比较常见的题型,刷完后如果觉得哪一块知识点比较弱,可以结合【数据结构与算法分析】这本书来理解知识点。
2.我可以只看公众号的文章,不参与刷题打卡吗?
完全可以。公众号的文章阅读是免费的,有问题也可以在公众号提问和留言,参与打卡群是为了强制自己在两个月内全部刷完前400题给自己一个强制约束力,如果你的自制力足够强完全可以不用参与打卡群。参与打卡群并坚持下来后也可以退还入群的费用。只有中途退出没有坚持下来的才不退还费用。如果你在刷题过程中遇到问题可以在群里随时提问,我看到了或者有会做这道题的同学看到了可以及时解答或互相讨论,并且每周一~周三我会抽一天时间将之前群里提问较多的题目总结一下发到群里。此外,我会在群里不定期分享各个公司的面试算法题,帮助最近准备找工作的同学应对面试。也鼓励最近在面试的同学分享算法题,给大家划重点。
3.公众号不利于后期复习,请问还有别的方式阅读每周的文章吗?
有。每周的文章我在发布并整理好大家的问题并解答后,会在下周放到leetcodebook-github,两个月的刷题计划结束后,会生成gitbook供大家后续阅读。
4.如果我有更好的解题方法怎么投稿?
欢迎大家提出更好的解题方法,投稿方式可以在群里发布,或者github-issue里提issue,本人能力有限,不可能掌握所有题型的最优解法,所以欢迎大家讨论&留言&提issue,非常感谢!
对于本文的建议可以在下方直接留言,也可以戳微信公众号原文,关注公众号(Charlotte数据挖掘)后在下方留言,欢迎大家提建议~
ps:留言中有提到深度学习系列是不是不更了,后续会继续更新的,剩下的还有检测部分和nlp部分,检测部分会在近期更新,nlp部分我会写好后给做nlp的同学审核后确保没有错误后再发出来(因为我是做cv的,所以nlp的内容没有专业做nlp的同学了解的深,不希望写出来的文章有很多错误,所以会更新的慢一点,希望大家理解啦~)
LeetCode刷题专栏第一篇--思维导图&时间安排的更多相关文章
- LeetCode刷题总结-数组篇(上)
数组是算法中最常用的一种数据结构,也是面试中最常考的考点.在LeetCode题库中,标记为数组类型的习题到目前为止,已累计到了202题.然而,这202道习题并不是每道题只标记为数组一个考点,大部分习题 ...
- LeetCode刷题总结-数组篇(下)
本期讲O(n)类型问题,共14题.3道简单题,9道中等题,2道困难题.数组篇共归纳总结了50题,本篇是数组篇的最后一篇.其他三个篇章可参考: LeetCode刷题总结-数组篇(上),子数组问题(共17 ...
- LeetCode刷题总结-树篇(上)
引子:刷题的过程可能是枯燥的,但程序员们的日常确不乏趣味.分享一则LeetCode上名为<打家劫舍 |||>题目的评论: 如有兴趣可以从此题为起点,去LeetCode开启刷题之 ...
- LeetCode刷题总结-数组篇(中)
本文接着上一篇文章<LeetCode刷题总结-数组篇(上)>,继续讲第二个常考问题:矩阵问题. 矩阵也可以称为二维数组.在LeetCode相关习题中,作者总结发现主要考点有:矩阵元素的遍历 ...
- LeetCode刷题总结-树篇(下)
本文讲解有关树的习题中子树问题和新概念定义问题,也是有关树习题的最后一篇总结.前两篇请参考: LeetCode刷题总结-树篇(上) LeetCode刷题总结-树篇(中) 本文共收录9道题,7道中等题, ...
- LeetCode刷题总结-树篇(中)
本篇接着<LeetCode刷题总结-树篇(上)>,讲解有关树的类型相关考点的习题,本期共收录17道题,1道简单题,10道中等题,6道困难题. 在LeetCode题库中,考察到的不同种类的树 ...
- LeetCode刷题总结-字符串篇
本文梳理对LeetCode上有关字符串习题的知识点,并给出对应的刷题建议.本文建议刷题的总数为32题.具体知识点如下图: 1.回文问题 题号:5. 最长回文子串,难度中等 题号:214. 最短回文串, ...
- LeetCode刷题总结-动态规划篇
本文总结LeetCode上有动态规划的算法题,推荐刷题总数为54道.具体考点分析如下图: 1.中心扩展法 题号:132. 分割回文串 II,难度困难 2.背包问题 题号:140. 单词拆分 II,难度 ...
- LeetCode刷题总结-数学篇
本文总结LeetCode上有数学类的算法题,推荐刷题总数为40道.具体考点分析如下图: 1.基本运算问题 题号:29. 两数相除,难度中等 题号:166. 分数到小数,难度中等 题号:372. 超级次 ...
随机推荐
- Android 开发知识体系
知识体系 1.Unix/Linux平台技术:基本命令,Linux下的开发环境 2.企业级数据库技术:SQL语言.SQL语句调优.Oracle数据库技术 3.Java 语言核心技术:Java语言基础.J ...
- 用Laravel Sms实现 laravel短信验证码的发送
使用Laravel Sms这个扩展包实现短信验证码的发送,这里以阿里云的短信服务为例: 首先,要创建短信签名和短信模板,具体申请详情如下, 接下来,需要创建AccessKey,由于AccessKey是 ...
- .net自定义错误页面实现升级篇
问题描述: 在上一篇博文 ".net自定义错误页面实现" 中已经介绍了在.net中如何实现自定义错误页面实现(有需要者可以去上一篇博文了解),单纯按照上一篇博文那样设置,能够实现所 ...
- 基于 HTML5 WebGL 的低碳工业园区监控系统
前言 低碳工业园区的建设与推广是我国推进工业低碳转型的重要举措,低碳工业园区能源与碳排放管控平台是低碳工业园区建设的关键环节.如何对园区内的企业的能源量进行采集.计量.碳排放核算,如何对能源消耗和碳排 ...
- JaveScript基础(2)之数据类型转换和常用字符串的操作方法
1.JaveScript数据类型转换: A.转字符串:通过"+"或toString(); PS:如果都是数值类型,'+'会进行求和运算,否则会做字符串连接: var s=2.5;d ...
- c语言,数据结构,链表的一些操作总结
下面是自己的一些学习操作以及总结,能用我会很开心,有不足之处,欢迎大家提出宝贵的意见! c语言链表是一种基本的数据结构,与顺序表一样属于线性表,但是顺序表在内存中的存储单元是连续的,这样就对内存的要求 ...
- onCreate和onStart谁的开销大?
大家都知道,onCreate方法在创建的时候开始调用一些方法来获取资源方面的东西,这个是在程序运行之初才执行的,一个完整的生命周期中,它只执行了一次,不被onDestroy掉,就一直不调用,而onSt ...
- 简历HTML网页版
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...
- mybatis整合spring获取配置文件信息出错
描述:mybatis整合spring加载jdbc.properties文件,然后使用里面配置的值来 配置数据源,后来发现用户变成了admin- jdbc.properties的配置: 加载配置: 报错 ...
- 7.app和app后端的通讯
经常有开发者问:app和后端通讯是用http协议还是私有的协议?是用长连接还是短连接?通过阅读本文,帮你解除上面的疑问. (1)是用http协议还是私有的协议? 在间谍电视剧中,经常能看到间谍们的书信 ...