2021届秋招大厂高频算法题汇总

当初在准备秋招的时候,算法是一个大难题,不知道该怎么准备,也不知道应该要刷哪些题,只能在网上看面经,然后整理一遍,下面这些题目主要来源三个方面,

(1)我自己遇到的真题

(2)牛客上的面经,别人遇到的真题

(3)有一些大佬github上整理的,我也整理了进来。

对于这些题目,在后期的面试过程当中,基本上大部分都能遇到。因此刷了这些题基本上也就差不多了,整理下来,有个三百左右。

一些题外话,刷题的时候一遍可能会忘记,多刷个几遍就好,但是时间上如果来不及,建议直接重复刷这些题目。

这些题目基本上都是像字节、美团、滴滴、阿里等等这些大厂的真题。如果不信可以翻看牛客网截止某一段时间的面经,一个一个对照。

数组

力扣1:两数之和

力扣1299:将每个元素替换为右侧最大元素

力扣1464:数组中两个元素的最大乘积

力扣15:三数之和

力扣179:最大数

力扣189:旋转数组

力扣215:数组中第K个最大元素

力扣239:滑动窗口的最大值

力扣33:搜索旋转排序数组

力扣349:两个数组的交集1

力扣350:两个数组的交集2

力扣384:打乱数组

力扣4:求两个正序数组的中位数

力扣40:数组总和

力扣41:缺失的第一个正数

力扣416:分割等和数组

力扣42:接雨水问题

力扣442:数组中重复的数据

力扣448:找到所有数组中消失的数字

力扣45:跳跃游戏(跳跃次数)

力扣48:旋转图像

力扣480:滑动窗口中位数

力扣525:连续子数组

力扣54:螺旋矩阵

力扣55:跳跃游戏(跳跃距离)

力扣556:下一个更大元素

力扣56:合并区间

力扣560:和为K的子数组

力扣658:找到K个最接近的元素

力扣659:分割数组为连续子序列

力扣74:搜索二维矩阵

力扣84:柱状图中的最大矩形

力扣88:合并两个有序数组

力扣915:分割数组

字符串

力扣1312:让字符串成为回文串的最少插入次数

力扣139:单词拆分1

力扣140:单词拆分2

力扣165:比较版本号

力扣22:生成括号

力扣316:去除重复字母保证字典序最小

力扣415:字符串相加

力扣43:字符串相乘

力扣44:通配符匹配

力扣443:字符串压缩

力扣557:反转字符串中的单词

力扣67:二进制求和

力扣72:编辑距离

力扣93:复原IP地址

剑指offer46:把数字翻译成字符串

KMP算法

力扣647:一个字符串中有多少个回文字串

例扣17:电话号码的字母组合

排序算法

快速排序

插入排序

归并排序

希尔排序

堆排序

最长问题

最长回文字串

最长回文子序列

最长连续公共字串

最长公共子序列

最长连续为1的字串

最长有效括号

最长无重复字符的连续字串

最长等差数列

最长上升连续序列

最长上升的序列

最长和谐子序列

动态规划问题

力扣121:买卖股票(一次交易)

力扣122:买卖股票(多次交易)

力扣134:加油站

力扣309:买卖股票(包含冷冻时间)

力扣322:零钱兑换

力扣518:零钱兑换

力扣53:最大子绪和

例扣674:未经排序数组最长连续递增序列

链表

链表

力扣109:将有序链表转化为二叉搜素树

力扣141:环形链表判断是否有环

力扣142:环形链表检测入口位置

力扣143:重拍链表

力扣160:相交链表

力扣206:反转链表

力扣21:合并两个有序链表

力扣23:合并K和有序链表

力扣234:回文联表

力扣25:K个一组反转链表

力扣328:奇偶链表

力扣445:链表求和(头对齐:尾对齐)

力扣80:删除排序数组中的重复元素

力扣82:删除重复元素

力扣83:删除排序链表中的重复元素

力扣86:分割链表

剑指offer:二叉搜索树和双向链表

剑指offer22:链表中倒数第K个节点

剑指offer54:二叉搜索树中的第K大节点

LRU实现

力扣102:二叉搜索树的层次遍历

力扣105:从前序和中序重构二叉树

力扣108:将有序数组转化为二叉搜索树

力扣110:平衡二叉树

力扣113:路径总和

力扣124:二叉树的最大路径和

力扣1325:删除给定值的叶子节点

力扣144:二叉树的前序遍历(非递归)

力扣145:二叉树的后续遍历(非递归)

力扣199:二叉树的右视图

力扣208:实现Trie前缀树

力扣222:完全二叉树的节点数

力扣226:翻转二叉树

力扣236:二叉树的最近公共祖先

力扣257:二叉树的所有路径

力扣297:二叉树的序列化和反序列化

力扣450:删除二叉树中的节点

力扣543:二叉树的直径长度

力扣617:合并二叉树

力扣662:二叉树的最大宽度

力扣687:最长同值路径

力扣94:二叉树中序遍历(非递归)

力扣958:二叉树的完全性检验

力扣98:验证二叉搜索树

力扣99:恢复二叉搜索树

深圳

力扣1254:封闭岛屿的数目

力扣200:岛屿的数量

力扣209:课程表

力扣365:水壶问题

力扣46:全排序

力扣463:岛屿的周长

力扣547:朋友圈

力扣695:岛屿的面积

力扣733:颜色渲染

二维矩阵中寻找最大正方形

矩阵中的路径

括号生成

密集

数学问题

力扣1240:铺瓷砖

力扣202:快乐数

力扣204:计算质数

力扣37:解数独

力扣43:字符串相乘

力扣50:计算pow

力扣509:斐波那契数列

力扣679:24点游戏

力扣7:回文素数

计算表达式的值

开平方根函数(会两种)

数字转16进制

堆栈问题

力扣155:最小栈

力扣225:用队列实现栈

力扣232:用两个栈实现队列

力扣312:戳气球

面试金典0305:栈排序

使用数组实现队列

栈的压入弹出序列是否合法

会议安排

力扣406:根据身高重建队列

其他真题

力扣135:分发糖果

力扣198:打家劫舍

力扣213:打家劫舍

力扣337:打家劫舍

力扣301:删除无效的括号

两个线程交替打印奇偶数

三个线程顺序打印ABC

实现读写锁

死锁的案例

OK。先整理进来,有时间补充。

你可能感兴趣的:(数据结构与算法)