算法提高之LeetCode刷题

重刷LeetCode

2019-06-30  本文已影响1人  bluescorpio

最近发现自己编程基本功还是太弱,要给自己设个挑战,刷题是一个很好的方式。

之前曾经刷过一部分,隔了两年之后,再次看到自己做过的题目,发现又不会了。

原因无外乎如下,一是忘记了,二是原来也不会,当时是参考别人的答案,并没有完全掌握。

所以,还是要慢慢的刷,确保每道题做过了,都要掌握。

还看到了两派刷题风格:

“龟系”刷法的精髓就是每个题目都做干净。不满足于一种解法,各种解法都写一写。这种流派适合不太急于准备算法面试的小伙伴,追求算法的干净优雅。

“兔系“刷法的精髓是暴力,按照标签来刷,使用固定套路来刷。

每个标签内部可以按照 Easy 、Medium、Hard 的顺序做,算法练习是一个系统工程,不要一开始就追求难题,先熟悉熟悉套路,循序渐进的去做,后面所谓的难题也就不在话下。

一般来说,BAT 等大厂的算法面试题基本上都是 Medium 级别及以下,并希望面试者能在 20 分钟以内给出一个「相对正确」的回答。
每一道算法题得解法都有很多种,并不是说你没有给出完美解或者最优解你就是错的。

“正确” 本身是一个相对概念。
在算法面试或者平时的算法练习时,如果没有头绪,可以尝试使用暴力解法。首先要提供思路,然后提供你准备怎么解决

先实现功能再去优化。Done is better than perfect 。

几个注意事项:

做好总结

一定要做好总结,特别是当没有解出题来,没有思路的时候,一定要通过结束阶段的总结来反思犯了什么错误。解出来了也一定要总结题目的特点,题目中哪些要素是解出该题的关键。不做总结的话,花掉的时间所得到的收获通常只有 50% 左右。

做好总结,让每道题都有最大的收获。一个月之后自己的状态应该会有很大变化。

我之前做过的,现在看起来又不会,应该就是总结做的不好,以后没做一道题目出来,就总结一下自己的思路,自己的做法,和别人精妙的做法。

刷题是很痛苦的事情,但是,痛苦才能让你成长,真的。一遍一遍的刷,多刷一题就多掌握一题,你总会比别人更强一点。

上一篇 下一篇

猜你喜欢

热点阅读