【LeetCode】如何学习LeetCode?

版权声明:文章欢迎转载,但请注明出处。 https://blog.csdn.net/styshoo/article/details/48186275

很多人把在LeetCode上做题称之为刷题,对于已经掌握了相关算法的人来说,这样的称呼的确没有问题,但对于那些将LeetCode作为提高自己算法能力手段的人来说,“刷题”这个称呼并不算很合适。因为做题是一个提升自己能力的途径,如果只满足于把题目做完、状态变为accept的话,并不能最有效提高编程能力。

刚开始,我也犯了上面的错误,机械的做着上面的题目,只要通过了,就不再去想其他更巧妙的方法了。尤其有些题目,还有Follow up的要求,这些更是没有考虑。不会做的题目,也只是简单地思考下,十分钟内做不出来就网上搜答案了。现在想想,这些做法,的确只是刷题而已,为了做题而做题,对于自己来说,也并没有什么提高。

直到某次面试,恰恰是问了一道LeetCode上我已经做过的题目,刚开始我还信心满满,直到面试官问我还有没有其他思路的时候,自己就有点傻掉了,明明还依稀记得“Follow up”上的提示,却不知道如何下手。

痛定思痛,现在自己做LeetCode上题目的时候,都是先独立的思考,即使一时想不出来,也不急于网上搜答案,而是静下心来思考。首先先按照常规思路来解决问题,再按照“Follow up”上的 要求来解决问题,之后再考虑是否还有其他的思路和方法。所有这些结束之后,再点开每道题目的Discuss来看看别人的方法。

image

当然,我一般都是直接看Discuss中hot的几个答案,基本也就是最优解了。学习下别人的思路,同时也可以感受一下别人的编程风格。

image

没有更多推荐了,返回首页