1.开始在leetCode中刷题的一些感受
来源:互联网 发布:js replaceall 转译 编辑:程序博客网 时间:2024/05/22 03:07
最近项目上没有什么事情,鉴于自己的基础比较差,正好最近也开始学习了Python,就想在leetCode中使用Python语言刷刷题,加强一下自己的算法的能力,下面就来谈谈最近刷题的一些感受:
1、刚开始刷题的时候,基本上一下午只能A过两三道easy的算法题,但是我在每次A过之后,都会在讨论里看看别人的算法,把自己觉得叼炸天的算法记录下来,尝试理解别人的算法。这种做法给我带来的最大好处是:知道了很多Python中常用函数的使用场景,增强自己的代码阅读能力,并且开阔了我的思路。
2、在A题的过程中,我从没用过IDE编译代码看输出,基本上都是肉眼debug,然后改错。这个方法是我在A题时别人建议的,这样可以锻炼自己的思维能力,也可以慢慢提高自己写代码的全局观和对异常输出的处理。
3、一开始刷题时,我都是有一点思路就尝试开始写代码,写着写着发现这种方法不可行,又全部删掉。后来慢慢变成了先在纸上写好完整的思路,甚至包括需要声明几个变量。这样虽然一开始可能觉得速度有点慢,但这样会让你在真正写代码时思路清晰,从而少犯错误,并且我觉得这种写代码的状态更好。到后来我在写算法的时候甚至不是从上到下的编写,而是先写算法的框架,再写每一个部分要完成的功能。自我认为,这是比较好的敲代码的方法,并且可以增加自己纸上代码的能力。
4、关于测试用例,一般我都是随便试两个,通过了就直接submit,但是这样导致我的AC率很低。后来改成先写思路的时候,我就先想测试用例,而且想一些极端的,并根据 这些测试用例来写代码的一些边界条件和保护条件,这样AC率也会慢慢高了。
5、最后,一定不要满足自己的算法,尽可能写出最简单的代码,即使是相同的思路,也一定要将代码减至无法再减为止。这样可以增加自己的代码质量,久而久之,你对这门语言的掌控能力也会得到提升。
到现在为止,我也只A完了所有标为easy的题目,前路还长,仍需努力~以后这个算法分类我会记录一些A题时叼炸天的算法,分享给大家,共勉。
- 1.开始在leetCode中刷题的一些感受
- 在日本的一些感受
- 在兄弟连的一些感受
- 在昆明四年的一些感受.
- 开始的感受
- javascript的一些感受
- 最近的一些感受!!
- 最近的一些感受
- U3D开始学习的感受!
- 今天开始连续写blog 来记录一些开发的感受!
- 使用ECLIPSE的一些感受!
- 使用FIREFOX的一些感受
- 关于java 的一些感受
- 学习JAVA的一些感受!
- 学习Drupal的一些感受
- 来CSDN的一些感受
- 一些c++程序设计的感受
- 复习期间的一些感受
- Handler, Loop, MessageQueue的工作原理
- MySQL优化之BTree索引使用规则
- IOS编程中程序员真爱的不良习惯
- Ubuntu 装python3,但是不要改动系统默认python解释器的版本,源码安装的步骤
- Android 实现广告Banner循环轮播
- 1.开始在leetCode中刷题的一些感受
- IOS消息推送。
- Android推送机制
- 题目1032:ZOJ
- [转]annotation配置springMVC的方法了事务不起作用
- Zookeeper 笔记问答
- 棋牌游戏开发之地主AI算法实现
- Dreamweaver CS6最新官方正式中文破解版(32位、64位)
- ASC 20简要题解