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. 超级次 ...
随机推荐
- Java中static关键字和final关键字
static: 1. 修饰变量,方法 表示静态方法,静态变量. 2. static修饰代码块 static{ } 此种形式为静态代码块,用于初始化同时被final static修饰的变量.(当然,更常 ...
- ASP.NET中直接用C# 动态修改CSS样式
ASP.NET中直接用C# 动态修改CSS样式 wonsoft (wonsoft@163.com) 使用JavaScript控制CSS样式有点麻烦,还是觉得直接使用C#操作更方便快捷,本文通过两个B ...
- EF Core Model更新迁移
EF Core 迁移 感觉就是以前EF Code First的自动同步数据库功能 内容:在你新增.更新TableModel后,如何自动化的更新DB中的真实Table.以及对这些更改进行一个版本控制. ...
- PAT1097:Deduplication on a Linked List
1097. Deduplication on a Linked List (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 ...
- 搭建Hadoop完全分布式
Centos7搭建hadoop完全分布式 虽然说是完全分布式,但三个节点也都是在一台机器上.拿来练手也只能这样咯,将就下.效果是一样滴.这个我自己都忘了步骤,一起来回顾下吧. 必备知识: Linux基 ...
- tkinter中menu菜单控件(十二)
menu菜单控件 import tkinter wuya = tkinter.Tk() wuya.title("wuya") wuya.geometry("300x200 ...
- app后端设计(8)-- 数据库分表
当项目上线后,随着用户的增长,有些数据表的规模会以几何级增长,当数据达到一定规模的时候(例如100万条),查询,读取性能就下降得很厉害,这时,我们就要考虑分表. 更新表数据时会导致索引更新,当单表数据 ...
- PHP与XML技术
XML的概述 XML(eXtensibleMarkup Language),扩展性标记语言,它是用来描述其他语言的语言.它允许用户设计自己的标记.XML是由W3C(WorldWide 月发布的一种标准 ...
- 嘿嘿嘿,开始自学mysql
开始学习mysql了,作为非计算机专业学生,必须需要一个地方来给自己的知识进行一些记录和总结. 一SQL语句 数据库是不认识java语言的,但是我们同样要与数据库交互,这时需要使用到数据库认识的语言S ...
- 在C++中怎么判断一个double型数据的小数点部分是否为零
例:double sf = 123.123: 这里我们怎么判断sf小数点部分是否为零,可以直接用原数减去将sf强制转换后的整数是否为零来判断. if((sf - (int)sf) == 0),则说明s ...