從今天起每聪,我開(kāi)始進(jìn)行Java刷題旦棉,在掌握一門(mén)編程語(yǔ)言的基本用法之后,就要上手解決實(shí)際問(wèn)題了药薯。因此绑洛,今天筆記有以下幾個(gè)部分。
1.為什么要刷題童本?
2.在哪里刷題真屯?
3.刷題的要點(diǎn)是什么?
4.還需要進(jìn)行哪些學(xué)習(xí)穷娱?
那么绑蔫,直接開(kāi)始回答問(wèn)題好了。
為什么要刷題泵额?
一方面配深,實(shí)踐是檢驗(yàn)水平的唯一方法,能不能解決問(wèn)題嫁盲,能不能自主地解決Bug篓叶,這是關(guān)系到編程能力的事情。學(xué)習(xí)最怕半瓶醋,理論知識(shí)看明白了澜共,動(dòng)手能力沒(méi)跟上向叉,等于紙上談兵。
另一方面嗦董,刷題也是見(jiàn)識(shí)一下實(shí)際問(wèn)題母谎,什么樣的問(wèn)題都有,能充分調(diào)動(dòng)大腦的思考能力京革,增加知識(shí)面奇唤。也能在各種刷題網(wǎng)站上看到大牛們對(duì)某一問(wèn)題的處理方式,為什么他們的算法這么簡(jiǎn)單匹摇?為什么代碼這么簡(jiǎn)潔咬扇?從中我們能學(xué)到許多編程思維和編程習(xí)慣,受之啟發(fā)廊勃,化為己用懈贺。
還有一方面,我認(rèn)為是為了保持手感和狀態(tài)坡垫,每天刷幾道題梭灿,能讓狀態(tài)保持住。
在哪里刷題冰悠?
在某乎上搜索堡妒,有許多人給出了比較好的刷題網(wǎng)站,我選了幾個(gè)放進(jìn)了收藏夾溉卓,與大家分享一下皮迟。
HackerRank,這個(gè)網(wǎng)站可以刷題掙分?jǐn)?shù)桑寨,然后有排行伏尼,這種方式很適合玩家來(lái)打榜。
Leetcode,這個(gè)網(wǎng)站的題目量也很多西疤,而且編譯速度很快烦粒。
GitHub,這個(gè)網(wǎng)站大家應(yīng)該有所耳聞吧,上面能搜到許多公司開(kāi)源項(xiàng)目的代碼代赁,簡(jiǎn)直是一座寶庫(kù)扰她。
刷題的要點(diǎn)是什么?
1.先讀懂問(wèn)題芭碍,基本上都是英文的題目徒役,問(wèn)題描述和舉例也很清楚,但我們需要注意解題的限制窖壕。
2.想出幾種解題思路和實(shí)現(xiàn)方法忧勿,然后再作比較杉女,哪種方法最優(yōu)。
3.在驗(yàn)證代碼無(wú)誤鸳吸,結(jié)果正確后熏挎,再看下官方提供的解答,以及其他答題者的討論晌砾,你從中能收獲很多坎拐。
4.記錄自己做題時(shí)出現(xiàn)的編譯錯(cuò)誤和原因,每天記錄并整理养匈,不斷地修正后哼勇,直至不出現(xiàn)Typing Error這種低級(jí)錯(cuò)誤∨缓酰可以使用GitHub來(lái)保存每天的刷題題目和內(nèi)容积担。
還需要進(jìn)行哪些學(xué)習(xí)?
我在HackerRank網(wǎng)站上刷題時(shí)猬仁,每題分?jǐn)?shù)從5到500分不等帝璧,難度也是有Easy,Medium和Hard湿刽,Expert這種級(jí)別聋溜,在高難度題目中,我發(fā)現(xiàn)要解決的某個(gè)實(shí)際問(wèn)題叭爱,許多是涉及數(shù)學(xué)的算法的,因此漱病,后面我要研究下常用算法和相應(yīng)的代碼實(shí)現(xiàn)方式买雾。