刷题的目的:学习算法,学习go语言,预防老年痴呆。
1个月
总结
最开始,每天一道题都搞不定,现在稳定每天3道题。
刷题的目的是学习算法。不要过度思考,太浪费时间。
及时复习很重要。大概有一半的题,复习时还是不会,仍然陷入之前的错误思路。
刷题的本质是学习思路和算法。其他的不拘小节。不要在乎优化一点性能,少写几行代码。
刷题
每天:1中等,2简单
- 简单:10分钟没思路,看提示;20分钟写不出,看答案。
- 中等:20分钟没思路,看提示;40分钟写不出,看答案。
- 复习:简单10分钟,中等20分钟,写不出来隔天复习。
2个月
总结
周赛第1题暴力过,第2题看运气,遇到熟悉的算法才能过。
书-初级算法完成。非常适合新手,从简单题开始循序渐进。
下个月主刷中等题,困难题尽量不碰。
目前每天刷1道中等题还行,2道中等题有些吃力。因为复习量大,每天大约15题。
刷题
- 复习
问题:增加复习量后,发现以前做错的题,60%还是写不出来,80%不能在规定时间写出。
方案:按照遗忘曲线,无限滚动复习。
时间:简单题10分钟,中等题20分钟,困难题40分钟。
规则:不会的第2天复习,正确的下次复习日期加倍。
- 新题
1简单,1中等;每日一题和周赛选做。
3个月
总结
周赛基本2题。稳定1题,平均2题,偶尔3题。
计划-算法入门完成。挺好的适合入门。
滚动复习方法很有效,90%的题都能写出来。关键还是理解,背下来的隔一个月就忘了。
就是复习量太大,每天20题左右,还要做几道新题,坚持下来挺不容易的,快要崩溃了。
目前刷了:141简单,95中等,7困难。还是要多刷中等题。
4个月(计划)
书/计划
书-图解算法数据结构(剑指Offer)
计划-数据结构入门
计划-高效面试备战
工具
- 已有:生成、打印链表和树的函数。
- 缺少:数组转golang的格式,可以直接复制粘贴。
例如:[[1,2][3,4][5,6]]转成[]int{{1,2},{3,4},{5,6}}
- 缺少:批量执行测试
最好能将官网的测试用例,直接粘到本地测试。提高本地调试的效率。
- 问题:golang没有泛型,写了一堆reverse
参考
- github上的刷题套路。
- 知乎上的刷题经验。
- 大牛打比赛的录像。
在比赛中极少使用ide,直接在web页敲代码。并且很少调试,偶尔打印一下,看一遍代码就能发现问题。
多数时间都在思考,并且思路来的很快,敲代码就是分分钟的事儿。
问题是我现在即使有了思路,也要各种调试,还写死循环呢。