2021年前端面试算法合集 | 刷题打卡

573 阅读3分钟

本文正在参与掘金团队号上线活动,点击 查看大厂春招职位

在面试过程中,算法题是必备环节,而且算法题有时候是决定面试的成败的重要因素。算法题有个特点,就是以前如果做过这道题或者类似的题,脑子里有思路的话,就会很快做出来。如果以前没做过的话,往往很难想出来。毕竟这些算法曾经也是前人花数月甚至数年研究出来的论文,我们都是站在巨人的肩膀上~

所以,平时要多刷算法题,增强自己的思维能力,做到触类旁通,举一反三。

为了方便更高效的刷算法题,我从各个互联网大厂的面经中整理出里面的算法题,并按照分类划分。这样我们可以集中时间刷某一类的算法,加深自己对某类题目的印象,

二叉树

分类难度题目
DFS简单104. 二叉树的最大深度
DFS简单111. 二叉树的最小深度
BFS中等102. 二叉树的层序遍历
BFS中等107. 二叉树的层序遍历 II
DFS中等236. 二叉树的最近公共祖先
DFS简单226. 翻转二叉树
DFS简单101. 对称二叉树
困难297. 二叉树的序列化与反序列化
DFS简单 平衡二叉树

链表

分类难度题目
简单141. 环形链表
中等142. 环形链表 II
简单02.07. 链表相交
简单剑指 Offer 24. 反转链表
简单剑指 Offer 25. 合并两个排序的链表

数组

分类难度题目
简单数组去重
中等46. 数组全排列
中等11. 盛最多水的容器
中等把数组排成最小的数
中等179. 把数组排成最大数
中等1471. 数组中的 k 个最强值
简单剑指 Offer 40. 最小的k个数
简单704. 二分查找
双指针简单剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
中等611. 有效三角形的个数
简单217. 存在重复元素 (或者是找到重复的值)
简单剑指 Offer 09. 用两个栈实现队列
中等拍平数组

数组排序

912.排序数组

知道不同算法的时间复杂度和空间复杂度

分类难度题目
简单插入排序
中等快速排序
中等归并排序
简单冒泡排序

字符串

分类难度题目
中等剑指 Offer 38. 字符串的全排列
简单125. 验证回文串
中等165. 比较版本号
简单20. 有效的括号

大数

分类难度题目
简单989. 数组形式的整数加法 (大数加法)
大数乘法
大数阶乘

其他

分类难度题目
简单剑指 Offer 10- I. 斐波那契数列
简单70. 爬楼梯