2021-08-16-📣🚦力扣刷题有感
2021-08-16 本文已影响0人
沐深
1.非智力因素
作为一个专业人士,要保持编码能力的一个方法就是经常做题,千难万难,坚持最难,训练韧性和耐力,戒骄戒躁,脚踏实地,注重非智力因素的培养。
放弃幻想准备斗争
听过一句考研界数学大神的话:考研需要和你之前长达几十年的学习习惯做斗争。考研数学考得不只是你的数学,考研考的也不只是你的政治、英语、数学、专业课,甚至不只是学习能力,而是你这个人,你对这个世界的认知,时间管理能力,以及长期以来做事情的习惯和态度。
做到和知道之间距离很远,我们的人生不是听道理就能美满,需要坚持不懈的执行你所知道的,终日而思不如须臾之所学,知行合一,Just Do It。
2.计算过关
许多人意识不到“计算过关”的重要性,就是不看答案自己看时间算一遍能算对。有思路的题,最后答案算错的概率小于百分之一就过关。
写代码不能靠猜,更不能靠运气,用逻辑去思考,感觉自己以前纯粹是扣代码,蒙对了就过,蒙不对就在找原因,这是很low的阶段。
计算好每一步,不能面向打印编程,有的人写代码就像走迷宫一样,这条路试一下,那条路试一下,试了很多路终于走出来了,下次再进入迷宫还是不知道怎么走,这样没有任何意义,我们要搞编制一副地图,靠地图走出来, 不断完善自己的地图,注重消化,学会为主,等有类似迷宫我们就查地图就可以了。
Mysql之父说过:代码应该一次写成,而不是后面再改。
3.Deliberately practice
功夫在文章外,靠纯粹写项目代码并不能提高代码本身的水平,多刷题,代码本身是算法的组合,刷题刻意训练思维逻辑。
4.实践
多看好代码,如果仅靠自己关门造车,好前端是好项目煨出来的,可以多看看github一些高star项目的源代码,尝试写一些这样的项目,和letcode多做对比,这样才能不断汲取好的东西。
5.举一反N
提交通过只是完成了第一步,写出别的方法才是进步。总之,技术的本质是创新。
6.做项目和刷题的区别:
- 做项目测试少,刷题有上千个测试case。
- 做项目千篇一律,基本是cv,能跑就行,完全是为了完成任务。刷题要考虑复杂度,内存,更深入。
- 做项目遇到问题的时候,就需要去权衡应该采用什么样的方式来解决具体的问题,但是如果写的项目代码只是仅仅满足于实现流程,不能对比不同实现方案之间的优缺点,那做项目确实对代码能力的成长是很局限的。
- 项目更多的是应用领域,刷题是理论基础研究。就像蒸汽机应用于汽车,拓补学应用于人工智能。
- 项目不够难,日常只有增删改查。