前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每个标签下的高频考题

每个标签下的高频考题

作者头像
公众号袁厨的算法小屋
发布2022-09-20 16:02:08
4720
发布2022-09-20 16:02:08
举报

哈喽大家好,我是厨子。

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

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

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

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

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

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

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

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

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

当然如果遇到完全没有思路的时候,面试官也会帮助你,给你一些提示,帮助你完成题目,另外大多时候也不需要你 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

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序厨 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数组
  • 排序相关
  • 哈希表
  • 链表
  • 栈和队列
  • 深搜广搜
  • 二分
  • 单调队列单调栈
  • 二叉树
  • 回溯
  • 动态规划
  • 其他
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档