秒杀程序员面试算法题:LeetCode按什么步骤刷题才有锻炼效果?

在LeetCode上面刷题,正确的解题步骤应该是什么样的?为什么有的人在LeetCode上面刷了好几百道题,甚至全部都刷完了,遇到没见过的题还是不会做?在LeetCode上面刷题,到底应该怎么做才能获得最大程度锻炼效果,提高自己的思维能力?今天这篇文章就是要帮助大家解决这些问题的。

秒杀程序员面试算法题:LeetCode按什么步骤刷题才有锻炼效果?

1. 背景

相信很多程序员在找工作之前,都会到LeetCode去刷题,从而增加面试拿到offer的几率。LeetCode网站本身也是为算法面试量身定做的。我以前的几个同学,在毕业季到来前,已经把网站上所有题目刷了一遍,非常勤奋。

但是他们大多数人刷题的主要目标,是把各种题目全部熟悉一遍,达到各种问题都见过。他们认为,只要事先见过这一类题并且弄懂,下次再遇到这类题就直接会做了,算法面试就过关了。他们认为,遇到全新的问题而且能在短时间内把它解出来是非常困难的,面试时间那么短,怎么可能解得出来?只要刷完全部LeetCode题目,每次只要遇到算法题,基本上都是做过和见过的,那面试算法题就没问题了。

虽然他们最后差不多都拿到了不错的offer,但是个人觉得,这样的做法其实是一种题海战术,主要靠记忆力,而且违背了面试考察算法的初衷。以题海方式刷LeetCode,虽然也能在一定程度上提高思维能力,但是对于思维能力的提升很有限。一旦遇到新问题,往往又会被打回原形,看着题目想半天也不知道怎么下手。

要通过刷题来提升思维能力而不是大量刷题并且记住这些题目,这样收获才最大、对自己才最有用的,这也是谷歌、微软等公司面试考算法题的本意。那么怎样刷题才有锻炼效果呢?首先,尽量要做自己没有做过的题目;然后,按照本文给出的几个步骤,完成每一个步骤中的思考任务;最后,把每个步骤中得到的结论汇总起来,得出这道的最优解。解完题目以后,反思自己在思考过程中有哪些可以改进的地方,有哪些收获。以这种方式锻炼自己,日积月累,就能大大增强算法设计能力,谷歌、微软的offer岂不唾手可得。

我们就以LeetCode上的一道难度hard的算法题为例,演示解LeetCode算法题的大致过程,在这个过程中我们做了哪些思考,我们如何一步一步提出问题、分析问题,最后解决问题的。这个解题过程,不仅演示了我们的解法是怎么得来的,而且演示了如何利用好一道题目,让思维和能力真正得到锻炼。我故意找一道没有做过的题目,题目的名称为"Decode Ways II"。

2. 在解

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值