昨天是元宵節,過完元宵節至關於這個年正式過完了。不知道你們有沒有投入繼續投入緊張的學習工做中。年前我想開一個Leetcode刷題專欄,因而發了一個投票想了解你們的需求徵集意見。投票於2019年2月1日截止,共有204人蔘加,根據投票結果顯示,大多數人但願經過刷LeetCode可以提升代碼水平,在工做中和麪試中有幫助,然而有一半人沒有接觸過Leetcode,一半人接觸過,但只刷了一點。幾乎全部投票的人刷題的數量都小於100題,說明你們對刷題的認識和熱情都還比較淺,多是由於刷題比較枯燥,又不能立刻帶來立竿見影的效果,因此不能長期堅持下去。對於本專欄的形式,有一半人但願以專題的形式,先講知識點,再舉例包含該知識點的題,每週發佈一篇,其次但願創建微信打卡羣,你們一塊兒刷題打卡,相互討論。你們會的編程語言以python、c++、java(排名分前後)爲主,並但願創建一個月或者三個月的刷題計劃,並加入計劃和打卡羣中。java
從微信投票結果來看,我發現你們的刷題經驗相對比較少,多是不知道刷題能帶來哪些直接的好處,大多數除了面試前刷一些,平時工做中可能壓根不會碰。經歷了去年的裁人潮後,如今這個時間,可能不少人處於待業找工做或者已經開始找工做的狀態,通常對於跳槽而言,一般有種說法,叫金三銀四和金九銀十,因此若是想要換工做的同窗,這個時候正是刷題的好時候。衆所周知,LeetCode是一個刷題網站,在16年左右的時候還只有400題左右,結果1七、18年數量激增,如今已經有996道題,這麼多道題,咱們是否是須要都刷完,如何在短期內快速刷完,儘可能不遺漏重要知識點,刷題方法和順序是很重要的。我本人的刷題經驗並很少,之因此開這個專欄也是但願和你們一塊兒刷題打卡,爭取在有限的時間內刷完基本的題型。python
時間:兩個月。2019年2月20日~2019年4月21日c++
計劃目標:Leetcode前400題。(前400題基本包括了絕對大部分題型,反覆刷2~3遍面試數據結構這塊基本不會有什麼大問題)git
專欄形式:每週四周五發布知識點和題型講解(後面會公佈整個刷題計劃的思惟導圖和時間安排),而後將包含該知識點的題目放出來讓你們刷,週一~週三會抽一天針對微信打卡羣裏的問題寫一篇總結髮在微信羣裏。github
參與形式:文末會放出刷題打卡羣,參與者需付費99元參與,放入獎金池,最後按照堅持下來的人數平分這個獎金池。若是能堅持到最後刷題結束,99元入羣費原封不動退還,若是有人沒有堅持下來,就做爲獎金池的一部分最後平分。舉個例子,若是有100人蔘與,每人99元,獎金池爲9900元,兩個月後只有50人堅持下來,那麼每人平分下來就是198元。面試
刷題網站:www.leetcode.com 本刷題專欄主要用英文版Leetcode刷題(有中文版力扣,可是相對於英文版的Leetcode,少了Discuss區,這裏面有不少精華,因此建議你們用英文版刷題)。因此你們在英文版Leetcode官網上註冊一個帳號,最好是空白帳號,把之前的記錄都清零,從頭開始。算法
如何檢查:每週五在羣裏統計上週每人刷題的數量,你們本身在羣裏自爆,發submission截圖,而後我統計到excel裏看每週你們的刷題狀況。(若是有更好的方式也歡迎提建議,個人檢查方法主要靠自覺 - -)編程
微信羣規:由於是第一次建打卡羣,因此不但願這個羣最後流於形式,你們設置一個消息免打擾就忘記刷題了。因此我初步擬定了幾條羣規,但願參與的人能遵照:數組
1.本羣不要發廣告,不要開車,不要發與刷題無關的內容!發一次提醒,兩次直接踢。我但願你們刷題就好好刷題,不要在羣裏發一些亂七八糟的東西,但願你們能理解。能夠發天天刷題遇到的問題,或者堅持不下來了想求助也能夠,也能夠發在公司面試時遇到的題目等均可以。微信
2.每週四周五放出刷題知識點和題型總結,而後下週五下午五點之前,你們彙報本身的刷題進度+submission截圖,我週六統計後,公佈還在堅持的人數。
3.和睦談論,就事論事,不要人身攻擊。
入羣方式:已截止
思惟導圖以下
注:思惟導圖的內容和順序可能會不斷修改,在個人github中會不斷更新leetcodebook-github(https://github.com/huxiaoman7/leetcodebook)
兩個月的時間仍是比較緊張的,除了我每週4、週五會在公衆號按期發佈知識點和題型總結外,平時也須要多練習。前四周以基礎數據結構爲主,包括數組、鏈表、棧與隊列、二叉樹與圖、字符串以及其餘數據結構(set、map、hash等)。後四周主要以算法爲主,包括排序算法、二分查找、搜索算法、動態規劃這些常見的算法,最後一週安排的是數學類題目,和其餘常見的題型總結。具體的時間安排以下:
Q&A
1.若是個人基礎比較差,跟不上你們的刷題進度怎麼辦?
若是基礎較差,只能平時或週末抽時間多下點功夫補補了。能夠先刷一下中文版力扣的初級算法專題,基本涵蓋了比較常見的題型,刷完後若是以爲哪一塊知識點比較弱,能夠結合【數據結構與算法分析】這本書來理解知識點。
2.我能夠只看公衆號的文章,不參與刷題打卡嗎?
徹底能夠。公衆號的文章閱讀是免費的,有問題也能夠在公衆號提問和留言,參與打卡羣是爲了強制本身在兩個月內所有刷完前400題給本身一個強制約束力,若是你的自制力足夠強徹底能夠不用參與打卡羣。參與打卡羣並堅持下來後也能夠退還入羣的費用。只有中途退出沒有堅持下來的纔不退還費用。若是你在刷題過程當中遇到問題能夠在羣裏隨時提問,我看到了或者有會作這道題的同窗看到了能夠及時解答或互相討論,而且每週一~週三我會抽一天時間將以前羣裏提問較多的題目總結一下發到羣裏。此外,我會在羣裏不按期分享各個公司的面試算法題,幫助最近準備找工做的同窗應對面試。也鼓勵最近在面試的同窗分享算法題,給你們劃重點。
3.公衆號不利於後期複習,請問還有別的方式閱讀每週的文章嗎?
有。每週的文章我在發佈並整理好你們的問題並解答後,會在下週放到leetcodebook-github,兩個月的刷題計劃結束後,會生成gitbook供你們後續閱讀。
4.若是我有更好的解題方法怎麼投稿?
歡迎你們提出更好的解題方法,投稿方式能夠在羣裏發佈,或者github-issue裏提issue,本人能力有限,不可能掌握全部題型的最優解法,因此歡迎你們討論&留言&提issue,很是感謝!
對於本文的建議能夠在下方直接留言,也能夠戳微信公衆號原文,關注公衆號(Charlotte數據挖掘)後在下方留言,歡迎你們提建議~
ps:留言中有提到深度學習系列是否是不更了,後續會繼續更新的,剩下的還有檢測部分和nlp部分,檢測部分會在近期更新,nlp部分我會寫好後給作nlp的同窗審覈後確保沒有錯誤後再發出來(由於我是作cv的,因此nlp的內容沒有專業作nlp的同窗瞭解的深,不但願寫出來的文章有不少錯誤,因此會更新的慢一點,但願你們理解啦~)