每个标签下的高频考题

2022-09-20 16:02:08 浏览数 (1)

哈喽大家好,我是厨子。

今天给大家唠唠面试常考的算法题。

现在企业招聘越来越注重考察算法能力,主要有下面三种形式

  • 笔试
  • 面试时现场编码
  • 针对某个题目,说出解决思路(无需编码)

今天咱们主要说说,现场编码时的面试题目及准备方法。

面试时的题目难度大多是较经典的简单题和中等题,偶尔会有困难题。

有的公司喜欢上来先让你做个题,然后再对你提问问题,有的则喜欢先提问,最后再做题。

所以这个时候,如果你前面和面试官聊的很开心,那么题目可能就是一个常见的简单题,比如反转链表,二叉树的层序遍历等。

这时有同学要问了,平常我们做题,遇到没做过的题目,就会没太有思路,要做挺久,才能执行成功,那面试的时候,岂不是和面试官大眼瞪小眼,一脸懵逼了。

没有那么夸张,因为面试时我们遇到的算法题,多是我们做过的经典题目。很少有没做过的题目,即使有新题,大多也是根据原来的题改编而成,只要稍微修改一下即可

当然如果遇到完全没有思路的时候,面试官也会帮助你,给你一些提示,帮助你完成题目,另外大多时候也不需要你 AC,只需要编写代码,写出你的思路即可。

所以针对面试时现场编码的题目,有以下几条建议。

1.尽量保证代码整洁和思路干净。(代码规范也是考察点)

2.遇到会做的题目,不要太着急,理清思路,再动手。(也是为了贴合第一条,后面会单独写一篇文章)

3.让面试官看懂你的代码逻辑,因为可能你做题的方法和他的方法不一致,所以写代码时,可以简单加些注释,和口头解释,让他能够看懂你的思路。

4.遇到没做过的题目,不要慌张,可以多和面试官交流思路,让他看到你思考过程。

我们只要认真刷题,这个环节完全搞的来,大家前期可以按照标签刷题,多学一些解题思路,注意提升广度,后面的话则多刷热门题,《剑指 offer》,《力扣 hot 100》等。也可以按照企业题库刷,那些常考的题目多刷几遍,来回刷。

另外再给大家推荐一个好用的刷题网站,Acwing ,刷题模式为 ACM 模式,更能锻炼你的代码能力

好啦,想说的就这些啦,希望能够对你们有一丢丢帮助。

给大家整理了一些高频的大厂面试真题,并将其按标签进行了分类,大家可以先收藏,后面针对性练习。

经典题目汇总,大家可以看这个文章

经典题目解析

数组

  • 121.买卖股票的最佳时机
  • 88.合并两个有序数组
  • 56.合并区间(有时会有变形题)
  • 209.长度最小的子数组
  • 4.寻找两个正序的中位数(会让你写最优解)

排序相关

  • 快速排序
  • 归并排序
  • 堆排序
  • 数组中的第K个最大元素

这一块考的还挺多,甚至还有公司考过归并排序的迭代法,不过咱们小屋也有具体可以看这个文章

今天说的是必须要熟练掌握的归并排序

一个快速排序写了快 10000 字?

一个破堆排我搞了 4 个动画?

哈希表

  • 3.无重复字符的最长子串
  • 76.最小覆盖子串
  • 347前K个高频元素(有时会进行改编,比如单词啥滴)

链表

  • 206.反转链表
  • 215.K 个一组翻转链表(会有不同形式,不足K个是否翻转,思路一致,代码略有变化)
  • 23.合并K个升序链表
  • 环形链表

栈和队列

  • 32.最长有效括号
  • 20.有效的括号(会有改编)

栈和队列详解

深搜广搜

  • 岛屿数量
  • 岛屿面积等
  • 二叉树路径相关

这一块考察的内容还是很多的,大家可以多刷一些,尽量拓展自己的解题思路。

二分

  • 33.搜索旋转排序数组
  • 153.寻找排序数组中的最小值
  • 300.最长递增子序列
  • 69.sqrt()
  • 34.在排序数组中搜索第一个位置和最后一个位置

二分查找的考察不再是最基本的形式,多是考察各种变种。二分查找的总结大家可以看下这篇文章。

穿了好几个马甲,差点没认出来是二分查找

单调队列单调栈

  • 42.接雨水
  • 239.滑动窗口最大值(会有变形)
  • 739.每日温度

深入浅出搞通单调队列单调栈

二叉树

  • 二叉树的各种遍历(前后中,Z字形等)
  • 思路都大同小异,加一些标志位即可
  • 求二叉树序列相关(根据前序中序求后序等)
  • 236.二叉树最近公共祖先
  • 124.二叉树最大路径和

二叉树的考察是非常多的,很多都是使用递归来解题,大家可以多刷一些二叉树标签下的题目。

关于二叉树,大家可以看这几篇文章

把二叉树揉碎

有趣

这种遍历方式爱了!

比之前两个难?

回溯

  • 排列相关问题
  • 组合相关问题
  • 子集
  • 39.组合总和
  • 494.目标和
  • 93.复原IP地址
  • 51.N皇后

会经常考原题或者改编题,回溯是重要考点。

动态规划

  • 53.最大子序和(会有变形,比如区间的坐标)
  • 322.零钱兑换
  • 300.最长上升子序列
  • 62.不同路径
  • 221.最大正方形
  • 64.最小路径和(遇到了好几回这个题目)

动态规划是考察热门,所以大家可以多刷一些动态规划的题目,后面我也会从简单到复杂为大家更新一些动态规划相关题目。其实在很早的时候我们就学过这个算法。

其他

  • 48.旋转图像
  • 54.旋转矩阵
  • 146.LRU缓存机制
  • 15.三数之和
  • 字符串压缩
  • 470.Rand7()实现Rand10()
  • 设计栈或者队列
  • 字符串匹配算法
  • 二分查找递归版
  • 73.矩阵置零

推荐阅读:

字符串匹配算法详解

一文把三个经典求和问题吃的透透滴。

个人建议上面这些题目要做的烂熟于心,很多笔试或者面试题目都是原题或者改编而来,只有熟练之后才能想到改编题的解。

上面很多题目都在我的仓库有了动画解析和模拟,后面也会继续补充。

https://github.com/chefyuan/algorithm-base

我也会在后面的文章中,多多更新高频面试题目,希望能够对大家有一丢丢帮助。

另外我建了一个秋招群,有需要的可以进一下。

0 人点赞