Leetcode刷完了第一次用了一个半月完全人肉debug接受率不到20第二次该如何刷

2019-11-20 03:52:25

题主含泪刷完第一次,精神可嘉!我来给点经验,如何高效地继续刷下去。刷leetcode是为了培养良好的算法题技巧,良好的算法题技巧是什么?0.正确性正确性,就是Accepted,是最最基础的。题主“用了一个半月,完全人肉debug,接受率不到20%”的第一次之旅,我想关注的也只有正确性了。那么除了正确性,题主还要注重什么?1.良好的代码风格代码简洁明了,变量命名规范,模块之间疏落有致。整体让人舒服,就叫风格良好。2.合适的时间空间复杂度很多题目,都不只有唯一解。好的解法,时间空间复杂度通常更低。刷第一次,可能只关注了容易实现的解法,有没有考虑过canwedobetter?当然,时间空间复杂度“合适”就好,为了压缩它们而让代码无比复杂,也是没必要的。3.对边界数据和海量数据的关注测试数据无非三种:1)常规,用来检查算法基本正确,2)边界,用来检查是否细心不掉边界坑,3)海量,用来检查代码的时间空间复杂度有没有超出限制。题主写代码的时候,有没有总结出2)和3)有哪些常见的case?4.小技巧诸如能用位运算就不要用乘除法,之类的。小技巧能给你的代码,增添一点逼格。那么问题来了,这些是理论,最佳实践在哪里?对于C++程序员,我会强烈推荐:soulmachine/leetcode·GitHub看看人家写的代码,无比精简,连全局变量都基本不用(facebook面试官该点赞了~)。对比一下自己的代码,思考不足之处。soulmachine同学的这份题解,大部分代码堪称完美,有些背下来都是应该的。对于Java程序员,因为本人刷题主要用C++,所以也不知道有什么Java题解。不过呢,思路是相通的,上面的题解,参考价值还是很大。第二第三次刷过后,题主应该能做到我的1234要求了。这时候就要:1.学会巩固巩固的最好方法,就是把题目按照类别,分成小的list。一个list大概七八道题,每天没事复习两个list,记住要敲代码复习,看是没用的。高端一点,借鉴下艾宾浩斯遗忘曲线,来巩固list2.进阶算法题进阶,请参考我的这个回答:大公司笔试面试有哪些经典算法题目?-Zack的回答上一张我的进度,上半年前刷完的,现在又出了好多新题:题主加油!你不是一个人在战斗!gogogo!

上一篇:20世纪的巴萨在欧洲是什么档次
下一篇:编程究竟难在哪
设为首页 | 保存到桌面 | 网站地图 | 用户帮助 | 用户注册 | 在线投稿 | 广告投放 | 留言反馈
Copyright © 2005-2012 ™ 165163.com.All Rights Reserved. 东阳在线版权所有
地址:浙江省东阳市画水镇华阳 电话:0579-86220017 013509201192 QQ:393614973 互联网ICP备案编号:浙ICP备10046462号
温馨提示:东阳在线所有帖子仅且代表作者本人意见,均不代表本站立场;如转载请注明出东阳在线(www.165163.com),商业用途请联系本站。

东阳E网 金华公安网监
s