【小白学算法】9.算法小白再也不恐惧LeetCode刷题

最近业务比较繁忙,又补了上个Q遗留的自动化接口case等等琐事,晚上用来系统学算法的时间比较少了。
另外,在steam又新买了个《地平线4》,刚玩也有点停不下来,哈哈。
面试

可是,最近也并非啥也没干。都说学以至用,以前看视频看书了解了链表二叉树这些,可是具体能干啥、怎么用,
仍是两眼一抹黑。不过所幸获得奇哥指点,分享给我另外一个关于算法学习的公众号《labuladong》,这里面有不少
算法实战的要点,有兴趣的能够去搜索下。我跟着指导,以为也得去刷刷题才是正道,毕竟学这玩意就是为了之后
面试用,仍是得实战。算法

1、LeetCode三分钟劝退的回忆

说到LeetCode,这又勾起了我曾经痛苦的回忆了,或许这也不仅仅是我一我的有这样的经历。
记得我第一次打开LeetCode想去作题,应该也是跟风吧,那会据说牛批的大佬都去那上面作题,感受应该挺厉害的样子。
而后,不明因此的我也想去试试,结果打开题目,一点思路都没有。数组

最后,好不容易碰到个那种循环遍历能解决的问题,解决完后一脑门子汗。结果看题解的时候,发现本身的算法贼差劲,
别人用哈希解决的效率更高。这倒好,又揭开新的知识盲区了。数据结构

接下来,再继续打开新题目,脑子都是一片空白,忍不住就想去看题解。题解最后看了就看了吧,理解起来还费半天劲,
最后的结果就是劝退了。框架

其实如今想一想,那种状况下就去挑战算法题,劝退那是惟一结果。并且,还会进一步增长你对于算法题的恐惧感。而这
一切的来源,就是本身的无知,以及学习方法不对。ide

路都不会走,就想跑了呀?学习

2、算法学习与刷题,相辅相成

那如今的状况确定是比以前要好了,尽管仍是小白,可是比起以前的本身仍是进步了的,至少如今再也不那么恐惧LeetCode刷题了。视频

为何呢?blog

人的恐惧一般来源于对事物的未知。以前根本不了解数据结构与算法,作题天然无从下手。如今经过一步步的学习数据结构,知道了
其实这些东西没有之前想象的那么神秘,玩来玩去,仍是数据的增删改查呗。接口

在上面提到的算法公众号里,我学习到了刷题都是有套路的,有解题框架,万变不离其宗。笔者推荐从二叉树的题目刷起,培养这种套路的
感知。拿二叉树来讲,基本上解题仍是那三种遍历:前序、中序和后序。 拿到题目首先就是不慌,仔细审题,究竟是要我干什么?我怎么
作能达到这样的效果,最后再肯定选哪一种遍历框架合适。

就这样,穿插着作了些简单的题目。毕竟仍是个小白,得从easy模式开启,最主要的是培养好正确的解题思惟,完全消除对于LeetCode的
恐惧感。

后面的算法学习,我决定就这样理论+刷题相结合着来。先将数据结构的基本知识掌握,再去解决一些相关的算法题,效果会好不少。好比,
那个删除链表结点的题目,若是我不知道什么是链表,可能还真琢磨怎么像数组那样删掉这个结点呢。

3、关于看题解

关于看题解,我以为可能会有那种强迫本身非得作出来以后才能看题解的人。其实我以为不必这样作,最起码对于小白阶段。

既然都是小白了,那作不出来也是很是正常的事情,这时候去看看题解,或许就可让你茅塞顿开。这时候要去体会别人的解题思路,
以及对于此类问题的应用。那么,下次再碰到相似问题的时候,咱基本上就能够作出来了。

要不怎么是叫刷题呢?只要是用心作题,我相信量变必定能够产生质变。

相关文章
相关标签/搜索