Java刷题笔记20180410

从今天起,我开始进行Java刷题,在掌握一门编程语言的基本用法之后,就要上手解决实际问题了。因此,今天笔记有以下几个部分。

1.为什么要刷题?

2.在哪里刷题?

3.刷题的要点是什么?

4.还需要进行哪些学习?

那么,直接开始回答问题好了。

为什么要刷题?

一方面,实践是检验水平的唯一方法,能不能解决问题,能不能自主地解决Bug,这是关系到编程能力的事情。学习最怕半瓶醋,理论知识看明白了,动手能力没跟上,等于纸上谈兵。

另一方面,刷题也是见识一下实际问题,什么样的问题都有,能充分调动大脑的思考能力,增加知识面。也能在各种刷题网站上看到大牛们对某一问题的处理方式,为什么他们的算法这么简单?为什么代码这么简洁?从中我们能学到许多编程思维和编程习惯,受之启发,化为己用。

还有一方面,我认为是为了保持手感和状态,每天刷几道题,能让状态保持住。

在哪里刷题?

在某乎上搜索,有许多人给出了比较好的刷题网站,我选了几个放进了收藏夹,与大家分享一下。

HackerRank,这个网站可以刷题挣分数,然后有排行,这种方式很适合玩家来打榜。

Leetcode,这个网站的题目量也很多,而且编译速度很快。

GitHub,这个网站大家应该有所耳闻吧,上面能搜到许多公司开源项目的代码,简直是一座宝库。

刷题的要点是什么?

1.先读懂问题,基本上都是英文的题目,问题描述和举例也很清楚,但我们需要注意解题的限制。

2.想出几种解题思路和实现方法,然后再作比较,哪种方法最优。

3.在验证代码无误,结果正确后,再看下官方提供的解答,以及其他答题者的讨论,你从中能收获很多。

4.记录自己做题时出现的编译错误和原因,每天记录并整理,不断地修正后,直至不出现Typing Error这种低级错误。可以使用GitHub来保存每天的刷题题目和内容。

还需要进行哪些学习?

我在HackerRank网站上刷题时,每题分数从5到500分不等,难度也是有Easy,Medium和Hard,Expert这种级别,在高难度题目中,我发现要解决的某个实际问题,许多是涉及数学的算法的,因此,后面我要研究下常用算法和相应的代码实现方式。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,167评论 25 709
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,823评论 18 399
  • 花开花落,叶绿了又黄,转眼逝去的——是时光;世界上最平凡而又最珍贵的——是时光。犹如花儿含苞待放,我的心中又何尝不...
    铭豪阅读 544评论 3 0
  • 骤遇雨,入夜闻秋意 忆往昔,岁月吟别离 浮云独坐一隅,盼潮汐 残夏无际兮莫轻弃 无情曲,绕梁三日起 唔失语,耳听心...
    机智的一颗蛋阅读 981评论 0 0
  • 生命之恋 两个生命同时在穷苦小镇的一条幽僻的胡同里降生了,一个男孩,一个女孩。或许是因为缘份,更或许是因为听信了算...
    行悟阅读 505评论 0 2