跟我学:LeetCode刷题大法
闲聊
不想赘述算法与数据结构本身存在的重要性以及对工作面试的重要性。我只想谈谈如何通过解决一道道算法题,慢慢的改变自己对算法的态度,并且从算法中获得自信,如果以下论述我们产生了些许共鸣!请关注我,让我们一起努力,一起刷爆leetcode吧。
坚定想法
曾几何时,在无数个瞬间。可曾遇到过这些情况
- 算法很重要,我要刷一刷算法;
- 背了几题,但不刷刷算法我还是慌的;
- 算法虽很重要,但我工作上没怎么用上;
- 我刷过了,但面试我怎么打不出来;
- 刷了几题,太难了,我放弃;
- ….
放弃的理由千千万万
讲真放弃的理由千千往往,坚持的理由我觉得只有兴趣和生存。只要是抱着生存的理由,那放弃的理由分分钟淹没他,除非真的找不到工作活不下去,就算如此,还能转行,直接逃避……,说这些就是想让自己和大家认清本质,坚定一下刷算法的的信念,走出第一步告诉自己:我需要刷题,我要刷题!
如何刷题到自信
当看到这里,我相信刷过题的人都有过类似经验
- 第一次平静的打开某算法库官网(这个主要是LeetCode),
- 然后打开第一个题,看了题目有点思路,一写代码结果各种输入判断,代码编译上的错误都会遇到
- 千辛万苦ac后发现只打败了30%的人。完全没有考虑过时间复杂度,空间复杂度,不过好歹过了
- 然后继续刷,没过多久就遇到了一题懵逼或者死磕磕不出的题,然后看题解
- 看懂的题解我们会惊呼怎么想到的,没看懂的题解会沮丧这也太难了,半天看不懂的题解完全就打击到了自信心
- 最终刷题结束,然后可能没有然后了,或者过几天再来挣扎一下。
- 那些挣扎过并坚持下来的人,我相信算法面试稳了但不一定自信,除非养成了刷题的习惯
这经历完全是自我打击的过程,说到底还是打开的姿势不对。没有找准刷题的基本思想和步骤,试试下面的刷题步骤
- 打开一题算法,先看题目,5-10分钟毫无思绪或者无法解决,
- 直接看题解,题解一般会有多种解法,找最优解看懂了背下来
- 然后不看题解去解题,ac后不急,多默写几遍ac几遍,直到相信自己明天起床也能稳稳的ac
- 接着可以再去看题解,去比较其他解法,分析他们的时间复杂度和空间复杂度,看最优解做的优化
- 通过比较,肯定是可以加深最优解的印象。最后重新打开这道题
- 看题,思考给出各种解法的思路以及复杂度,最后选出最优解,把它写下来。
- ac的那一刻,你的自信就来了。
- 当隔了一星期,你再来解这道题一次ac,稳如狗就更自信了。否则也不会沮丧,只是查漏补缺而已,几分钟后依旧ac。
技巧与心得
- 遇到不会的题不要慌,看题解
- 文字类的表述不如视图类的直观,尽量找图文并茂精选图解,或者看leetcode国际站的大牛题解
- 图解依旧看着吃力,可以在哔哩哔哩或者YouTube上,通过leecode + 题号,搜索高收视率的视频观看
- 反复研读观看,相信我你最终会懂的
最后的最后
我想说且是重点的,未来我将带领各位盆友一起刷算法题,后续我会通过视频+图文的方式来分享每一题的思路和多种解法代码。同时教会大家更方便,高效的刷题。
我是Yangcy,该吃吃该喝喝,该学还得学,我们一起加油!