我就是那個 @量子位 答案裏面提到的「lucifer 小哥哥」。前端
我本人從開始準備算法以來,大概通過了幾個月的時間,這期間本身成長了不少,從刷題菜雞,到如今對刷題套路,題型有了本身的理解,感覺仍是蠻多的。我本人不是算法高手,算是勤能補拙類型。不過通過幾個月的學習和練習,不只面試變得更加駕輕就熟,並且在工做中寫更容易寫出乾淨優雅,性能好的代碼。git
我將本身這幾個月的刷題經歷都整理了下來,除了給出思路和關鍵點,還橫向地對知識點進行整理,儘可能作到一題多解,多題同解
。 如今GitHub倉庫有18k+的✨ , 歡迎你們關注。倉庫地址: azl397985856/leetcodegithub
那麼今天我就來回答一下這個問題,談一下我是怎麼刷leetcode的
。web
對於我來講,刷題的過程其實就是學習數據結構和算法的過程
, 不只僅是爲了刷題而刷題,這樣你才能感覺到刷題的樂趣
。面試
我的建議,第一遍刷的時候能夠先快速按照tag過一遍,快速感覺一下常見數據結構和算法的套路,這樣本身有一個感性的認識。算法
第二遍咱們就不能像第一遍那樣了,這個階段咱們須要多個角度思考問題,儘可能作到一題多解,多題同解
。咱們須要對問題的本質作一些深度的理解,未來碰到相似的問題咱們纔可以舉一反三。數組
可是不少人作了幾遍,碰到新題仍是沒有任何頭緒,這是一個常見的問題,這怎麼辦呢? 咱們繼續往下看。微信
總結並記憶是學習以及刷題過程當中很是重要的一環, 無論哪一個階段,咱們都須要作對應的總結,這樣未來咱們再回過頭看的時候,纔可以快讀拾起來。數據結構
信息輸入大腦後,遺忘也就隨之開始了。遺忘率隨時間的流逝而先快後慢,特別是在剛剛識記的短期裏,遺忘最快,這就是著名的艾賓浩斯遺忘曲線。app
anki就是根據艾賓浩斯記憶曲線
開發的一個軟件,它是一個使記憶變得容易的學習軟件。由於它是一個自定義多功能的記憶方式,能夠大大減小你的學習時間,也能夠大大提升 你的學習容量。 對於我本人而言,我在anki裏面寫了不少leetcode題目和套路的Card,而後anki會自動幫我安排複習時間,大大減小個人認知負擔,提升了個人複習效率。
這個是個人anki card 你們能夠直接導入使用,可是仍是建議你們本身製做卡片,畢竟每一個人狀況不同,而且製做卡片的過程也是記憶的過程。
使用方法:
anki - 文件 - 導入 - 下拉格式選擇「打包的 anki集合」,而後選中你下載好的文件,肯定便可。
更多關於anki使用方法的請查看anki官網
目前已更新卡片一覽(僅列舉正面)
你們刷了不少題以後,就會發現來來回回,題目就那麼幾種類型,所以掌握已有題目類型是多麼重要。那樣leetcode出題的老師,不少也是在原有的題目基礎上作了適當擴展
(好比two-sum,two-sum2,three-sum, four-sum等等)或者改造
(使得不那麼一會兒看出問題的本質,好比猴子吃香蕉問題)。
其中算法,主要是如下幾種:
數據結構,主要有以下幾種:
作到了以上幾點,咱們還須要堅持。這個實際上是最難的,無論作什麼事情,堅持都是最重要也是最難的。
爲了督促本身,同時幫助你們成長,我在羣裏舉辦《每日一題》活動,每日一題是在交流羣(包括微信和qq)裏進行的一種活動,你們一塊兒 解一道題,這樣討論問題更加集中,會獲得更多的反饋。並且 這些題目能夠被記錄下來,往後會進行篩選添加到倉庫的題解模塊。
你們若是發現本身很難堅持下去,也能夠加入個人羣聊,咱們互相監督。 另外我還專門組建了slack羣,有興趣的能夠加羣后在羣裏喊便可。
你們能夠關注個人公衆號《腦洞前端》,公衆號後臺回覆「大前端」,拉你進《大前端面試寶典 - 圖解前端羣》。回覆「leetcode」,拉你進《leetcode題解交流羣》
最後祝你們刷題愉快,拿到本身心儀的offer。