Leetcode刷題記

@author stormma
@date 2017/11/08


生命不息,奮鬥不止!


前言

一個假acmer的重拾算法之路

算法是程序員的基本功,基本功的紮實程度一定上決定了你能走多遠。前兩年,急於學招式,招式學得差不多了,可是錯過了大好的學習算法,練基本功的機會。不知不覺進入這個行業也兩年多了,這兩年基本上都在圍繞着Javaweb做事,也算是有所收穫吧,從一個接一個的業務項目,到後面自己寫的簡單框架: storm-server,應該也是到了能靠着Java解決溫飽問題的地步了吧。這學期開始,我已經是一個即將要畢業的大三狗了,年後,面臨春招,完了之後秋招。可謂是到了最關鍵的時期。正所謂自己選擇的路,再苦再累都要堅持。本來大二時候就打算,大三上再找個實習出去轉轉,順便散散心。但是真正到了這個時候,卻沒了那個念頭了。究其原因,其一是對自己基礎的不自信,現在也不敢面自己真正秋招想去的公司,二來之前實習過三次,大都是做業務,都是重複得CRUD,想來沒有在學校自己複習基礎更有用。所以,從一開始也就有了一系列的打算,從算法到OS再到網絡,最後再看看多線程,jvm啥的,然後開始正式春招。現在第一個階段進行不到三週,刷了近百道題目,自我感覺進步挺明顯,思路也變得越來越開闊。

刷過的Leetcode題目全部託管在我的Github上的Algorithms項目上,如果你和我一樣,也對算法感興趣,或者想練基本功,歡迎star!如果對我的解法有疑問或者有更好的解法,歡迎交流。最後附上Leetcode刷題指南!

Leetcode刷題指南

摘自知乎

  1. 建議未刷過題的新人按着順序來。前150題覆蓋了很多經典題目和知識點,指針法類如『3 sum』系列,動規類如『regex matching』,搜索類題目如『Sodoku Solver』。

  2. 基本熟悉知識點(圖、樹、堆、棧、鏈表、哈希表、記憶搜索、動態規劃、指針法、並查集等)後,可以一類類標籤強攻。Leetcode 右側的標籤系統雖然未必 100% 完整,但是大致分類做得還不錯。

  3. 面試前的一個月可以只做『Hard』標籤的題目,因爲一般兩遍之後對於大部分『Medium』難度以下的題目都是肌肉記憶了。多練習『Hard』類題目可以讓自己的思路更開闊,因爲很多題目使用的奇淫巧技讓人驚訝,比如 Leetcode 精心設計連續題號的『84. Largest Rectangle in Histogram』、『85. Maximal Rectangle』。

  4. 善用收藏夾,要養成『一道題第二次練習尚不能解就加入收藏夾』的習慣,且需要定期清空收藏夾:每道題不需提示下通過兩次後才能移出收藏夾。

  5. 面試前可以購買會員,按照公司的標籤來練習,也可以結合白板練習。面試前如果時間緊迫,那麼練習的優先級分別是:即將面試公司的題目、收藏夾裏的舊題目、剩餘的新題。

  6. 衝刺階段的練習請儘量不要打開題型標籤,給自己思考的空間。

寫在最後

刷題一定要堅持,一定要堅持,一定要堅持!堅持會看到不一樣的自己。生命不息,奮鬥不止!這句話送給正在努力的我和正在努力的你。

本博文來自我的個人博客,轉載請註明出處

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章