时间紧任务急,如何在LeetCode刷题

简介: 很多公司都会面试算法题,然而很多小伙伴平时工作很忙,没有时间或没有养成刷题的习惯,面试准备周期时间也很紧张,没办法刷完LeetCode,往往慌慌张张刷了一些题,然而其实效果也不好。当然这里还是建议大家平时多看看算法题,毕竟程序=数据结构+算法,对你以后的编程工作来说是大有好处的。

4.jpg


以下内容适合新生小白,老鸟请继续刷你的题吧


很多公司都会面试算法题,然而很多小伙伴平时工作很忙,没有时间或没有养成刷题的习惯,面试准备周期时间也很紧张,没办法刷完LeetCode,往往慌慌张张刷了一些题,然而其实效果也不好。


当然这里还是建议大家平时多看看算法题,毕竟程序=数据结构+算法,对你以后的编程工作来说是大有好处的。如果基于时间紧任务急的前提该怎么刷题呢?以下提供一些个人的思路:


1 题目很多,不要从头到尾全刷(你的时间恐怕也不够)


5.jpg


如上图,题目是有分类,有套路的,而大的分类无非数据结构和算法两类,虽然LeetCode上面有1000多道题了。然而所有题型目前来看是有边界的。而算法是有套路的!这些套路仍然我们提到过的算法和数据结构,所以你可以按标签刷,但实际上就算按标签刷题目还是挺多的,如何更高效的刷题呢?


在git 上(https://github.com/CyC2018/CS-Notes/blob/master/notes/Leetcode%20%E9%A2%98%E8%A7%A3%20-%20%E7%9B%AE%E5%BD%95.md)有前人为我们总结了一个清单,这个清单可以帮助你节省很多时间,你不需要再去找题目,再去花时间想要去做哪些类型的题目(而每个类型也有很多题,多的也有几百道),这个清单帮你从1000多道题中筛选出200多道 经典的题、面试中经常被提到的题。每个类型都会有一些基本描述,告诉你一些关于这个类型的基本知识。个人觉得还是很好的。



2 刷题数量


一天1、2题,隔三差五的刷恐怕不行。你需要每天、大量的、集中的刷题。你的面试准备周期你心里有数。另外最好定时定点的刷,有助于养成一个习惯。人是有遗忘曲线的,如果你隔一个星期不刷可能就会忘记之前刷过的一些题了。可以给自己设定一个期限和目标,什么时间内刷多少题,给自己一点点压力。


3 刷题顺序


建议从易到难,先来easy的,然后加大难度。


4 要不要看答案


有些小伙伴刷题的时候比较抗拒看答案,觉得自己做不出来不服气,一定要自己做出来,看答案就输了,看答案觉得自己很笨、很沮丧什么的。首先这些小伙伴可能比较要强,其实是好事,但要注意我们刷题的核心目的是什么,就像上文第1点说的,题型题目是有边界的,我们通过大量的刷题并不是要达到一个非常高的算法工程师的水平,而是通过刷题 “学会套路,应对套路”,就像应试教育一样,题海战术嘛。你上学的时候有没有被老师带着“刷过卷子”


   这里的建议是:

  • 好好分析题目,弄懂题目
  • 花几分钟时间,自己想解法
  • 如果几分钟搞不定,可以看答案了(几分钟想不到,几小时也有可能一样,没必要浪费那么多时间了)
  • 答案能看懂,理解了,不看答案自己再解一遍,有必要的话做笔记(不建议用纸笔,用ipad会比较高效些,方便整理和查阅)
  • 看了答案还不懂,网上对每个题都有很多前人的优秀题解,再好好参考下,直到看懂了。


随着你刷的题越来越多,你就会越来越上手,自然而然就没有那么依赖答案


5 刷题不能死记硬背


背是背不完的,一道题可以改变的方法有太多,重要的是要理解题,知道题背后的知识点,这样才可以举一反三,知道这些“套路”后,遇到相似题才能自己解出来。

6 学会利用资源


现在网络上有很多优秀免费的资源,大家要学会利用,不然有时候答案都看不懂的时候怎么办?

这里分享一些好的资源:


微信公众号:labuladong


6.jpg


这个公众号写了很多文章,主要都是算法类的总结和刷题套路,比如动态规划讲的特别好。



youtube:  Back to Back SWE

https://www.youtube.com/channel/UCmJz2DV1a3yfgrR7GqRtUUA


7.png


特点:黑人小哥,讲的生动有趣,不会觉得无聊。



B站:


绵羊教授

https://space.bilibili.com/354892788?from=search&seid=6549052393519048731


绵羊教授 他的每道题有两个版本,用中文说一遍,再说英文说一遍,如果你准备外企的面试,就可以多看看英文的版本


小Q刷题

https://space.bilibili.com/149758?from=search&seid=1097042333993831009

特点:题目刷的全


花花酱

https://space.bilibili.com/9880352?from=search&seid=9395065874802859629

特点:题目刷的全(快把LeetCode全刷完了)


github:

https://github.com/MisterBooo/LeetCodeAnimation

特点:会把题目用动画的方式演示出来


8.jpg


最后:面试官考你一道题无非是想通过这道题看看你了不了解它背后的原理知识。这些知识就是看你知不知道某一个算法或者够不够了解某一个数据结构。


祝大家刷题顺利!


相关文章
|
2月前
|
机器学习/深度学习 算法
力扣刷题日常(一)
力扣刷题日常(一)
20 2
|
2月前
|
存储 索引
《LeetCode》—— LeetCode刷题日记
《LeetCode》—— LeetCode刷题日记
|
2月前
|
搜索推荐
《LeetCode》——LeetCode刷题日记3
《LeetCode》——LeetCode刷题日记3
|
2月前
|
容器
《LeetCode》——LeetCode刷题日记1
《LeetCode》——LeetCode刷题日记1
|
2月前
|
算法
LeetCode刷题---21.合并两个有序链表(双指针)
LeetCode刷题---21.合并两个有序链表(双指针)
|
2月前
|
算法
LeetCode刷题---19. 删除链表的倒数第 N 个结点(双指针-快慢指针)
LeetCode刷题---19. 删除链表的倒数第 N 个结点(双指针-快慢指针)
|
2月前
|
算法 测试技术
LeetCode刷题--- 430. 扁平化多级双向链表(深度优先搜索)
LeetCode刷题--- 430. 扁平化多级双向链表(深度优先搜索)
|
2月前
|
存储
实现单链表的基本操作(力扣、牛客刷题的基础&笔试题常客)
实现单链表的基本操作(力扣、牛客刷题的基础&笔试题常客)
144 38
|
10天前
刷题之Leetcode160题(超级详细)
刷题之Leetcode160题(超级详细)
11 0
|
10天前
刷题之Leetcode206题(超级详细)
刷题之Leetcode206题(超级详细)
21 0
刷题之Leetcode206题(超级详细)

热门文章

最新文章