【LeetCode】如何學習LeetCode?

Candy_GL發表於2018-08-14

轉自:https://blog.csdn.net/styshoo/article/details/48186275

很多人把在LeetCode上做題稱之為刷題,對於已經掌握了相關演算法的人來說,這樣的稱呼的確沒有問題,但對於那些將LeetCode作為提高自己演算法能力手段的人來說,“刷題”這個稱呼並不算很合適。因為做題是一個提升自己能力的途徑,如果只滿足於把題目做完、狀態變為accept的話,並不能最有效提高程式設計能力。

剛開始,我也犯了上面的錯誤,機械的做著上面的題目,只要通過了,就不再去想其他更巧妙的方法了。尤其有些題目,還有Follow up的要求,這些更是沒有考慮。不會做的題目,也只是簡單地思考下,十分鐘內做不出來就網上搜答案了。現在想想,這些做法,的確只是刷題而已,為了做題而做題,對於自己來說,也並沒有什麼提高。

直到某次面試,恰恰是問了一道LeetCode上我已經做過的題目,剛開始我還信心滿滿,直到面試官問我還有沒有其他思路的時候,自己就有點傻掉了,明明還依稀記得“Follow up”上的提示,卻不知道如何下手。

痛定思痛,現在自己做LeetCode上題目的時候,都是先獨立的思考,即使一時想不出來,也不急於網上搜答案,而是靜下心來思考。首先先按照常規思路來解決問題,再按照“Follow up”上的 要求來解決問題,之後再考慮是否還有其他的思路和方法。所有這些結束之後,再點開每道題目的Discuss來看看別人的方法。

image

當然,我一般都是直接看Discuss中hot的幾個答案,基本也就是最優解了。學習下別人的思路,同時也可以感受一下別人的程式設計風格。

image

版權宣告:文章歡迎轉載,但請註明出處。 https://blog.csdn.net/styshoo/article/details/48186275

 

相關文章