笔试/面试/leetcode刷题经验之谈

笔试/面试/leetcode刷题经验之谈_第1张图片

 

有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来。这是一篇关于leetcode刷题的一点点小心得,如果对你有帮助的话,欢迎点赞转发。

前言

本人以前大学的时候搞过一点算法,但不是什么大佬,学得一般。leetcode只刷了200左右(但都不是啥水题),leetcode简单、中等级别的题目大部分都可以做。大部分公司的笔试题也还行,当然了像字节腾讯一些太难的题目就有点顶不住了,面试遇到的算法题一般也能答得上来,虽然偶尔也会翻车。

刷题前的准备

其实很多人在这方面还是比较疑惑的,可能啥都没整明白就冲题解区了,建议不要完全零基础就一股脑的去刷题。因为如果你啥都不会直接上去刷题的话emmmm,不出意外你只会看着别人的题解刷题,看了别人的思路你也不一定会写,就算写出来了很快你就忘了。所以要对常见的算法有一定的基础,对常见的模型较为了解之后再去刷题,这样效果会更好。

比如常见排序(冒泡、快排、插入、堆排、归并…)、双指针(快慢指针、左右指针)、贪心、二分(二分查找)、搜索(dfs、bfs、各种剪枝、回溯思想)、动态规划(各种子序列、各种子串、常见的那几个背包问题)、前缀和的常见操作(各种遍历、各种树的性质、最小生成树)、(最短路、常见性质)、常见数据结构和集合类(链表、队列、栈、map、list、set、并查集都得会用)。

这些基础的知识不求你精通,代码不熟练也ok,但是你总得知道这些知识咋回事。当然了如果你是搞过acm竞赛之类的大神,这些可以都跳过,直接上手。关于怎么学习这些基础的算法知识,个人建议新手看视频或者看带图的博客,看博客文字的话可能看不懂,直接就劝退了,当然有点算法底子之后直接看博客也是没问题的,适合自己的学习方式才是最好的学习方式。

该刷哪些题

截止到目前为止leetcode已经有1300+的题目了,其实不用全部都去刷(对大部分人来说也没那个时间)。刷那些比较热门的题目就可以了,或者按照各个知识点去刷,不用全部去刷,特别是那些水题,太浪费时间了。

所有的题目分简单中等困难三个等级,简单和中等的题目出现的频率是最高的,困难级别的很少见,所以建议刷题数量中等>简单>困难

你可能感兴趣的:(算法,面试,leetcode,java)