前言
我是一个搬砖的胖子,热爱汇总大厂算法题。
我之前汇总了美团2020.8.15至~面试遇到的算法题大汇总,共有500+人收藏
金三银四的三月马上就要过去了,这次我直接把没岗位考察每道题的频度分享给大家!!
我开源的LeetcodeTop仓库,目前已6.9k star⭐。仓库用于汇总互联网大厂考察算法题的频度,包括字节跳动,美团,腾讯,快手,猿辅导,微软,百度等公司。
https://github.com/afatcoder/LeetcodeTop
ps:题目来源于2020.8.15~2021.3.30的牛客面经
后端
题目 | 出现次数 |
206. 反转链表 | 16 |
补充题4. 手撕快速排序 | 10 |
88. 合并两个有序数组 | 8 |
718. 最长重复子数组 | 7 |
102. 二叉树的层序遍历 | 6 |
5. 最长回文子串 | 6 |
剑指 Offer 22. 链表中倒数第k个节点 | 6 |
8. 字符串转换整数 (atoi) | 5 |
232. 用栈实现队列 | 5 |
15. 三数之和 | 5 |
142. 环形链表 II | 5 |
215. 数组中的第K个最大元素 | 5 |
25. K 个一组翻转链表 | 4 |
144. 二叉树的前序遍历 | 4 |
146. LRU缓存机制 | 4 |
20. 有效的括号 | 4 |
543. 二叉树的直径 | 4 |
160. 相交链表 | 4 |
141. 环形链表 | 4 |
剑指 Offer 40. 最小的k个数 | 4 |
110. 平衡二叉树 | 3 |
236. 二叉树的最近公共祖先 | 3 |
415. 字符串相加 | 3 |
191. 位1的个数 | 3 |
234. 回文链表 | 3 |
94. 二叉树的中序遍历 | 3 |
498. 对角线遍历 | 3 |
92. 反转链表 II | 3 |
62. 不同路径 | 3 |
2. 两数相加 | 3 |
143. 重排链表 | 3 |
53. 最大子序和 | 3 |
19. 删除链表的倒数第N个节点 | 3 |
21. 合并两个有序链表 | 3 |
78. 子集 | 3 |
34. 在排序数组中查找元素的第一个和最后一个位置 | 2 |
剑指 Offer 36. 二叉搜索树与双向链表 | 2 |
384. 打乱数组 | 2 |
1. 两数之和 | 2 |
704. 二分查找 | 2 |
199. 二叉树的右视图 | 2 |
226. 翻转二叉树 | 2 |
69. x 的平方根 | 2 |
93. 复原IP地址 | 2 |
41. 缺失的第一个正数 | 2 |
113. 路径总和 II | 2 |
300. 最长上升子序列 | 2 |
82. 删除排序链表中的重复元素 II | 2 |
33. 搜索旋转排序数组 | 2 |
7. 整数反转 | 2 |
剑指 Offer 10- II. 青蛙跳台阶问题 | 2 |
剑指 Offer 62. 圆圈中最后剩下的数字 | 2 |
54. 螺旋矩阵 | 2 |
补充题5. 手撕归并排序 | 2 |
468. 验证IP地址 | 2 |
687. 最长同值路径 | 2 |
补充题8. 计算数组的小和 | 2 |
179. 最大数 | 2 |
83. 删除排序链表中的重复元素 | 2 |
3. 无重复字符的最长子串 | 2 |
6. Z 字形变换 | 2 |
1143. 最长公共子序列 | 1 |
剑指 Offer 58 - I. 翻转单词顺序 | 1 |
剑指 Offer 09. 用两个栈实现队列 | 1 |
387. 字符串中的第一个唯一字符 | 1 |
153. 寻找旋转排序数组中的最小值 | 1 |
55. 跳跃游戏 | 1 |
124. 二叉树中的最大路径和 | 1 |
1245. 树的直径 | 1 |
1044. 最长重复子串 | 1 |
679. 24 点游戏 | 1 |
60. 第k个排列 | 1 |
132. 分割回文串 II | 1 |
43. 字符串相乘 | 1 |
105. 从前序与中序遍历序列构造二叉树 | 1 |
117. 填充每个节点的下一个右侧节点指针 II | 1 |
补充题6. 手撕堆排序 | 1 |
509. 斐波那契数 | 1 |
268. 缺失数字 | 1 |
26. 删除排序数组中的重复项 | 1 |
剑指 Offer 45. 把数组排成最小的数 | 1 |
958. 二叉树的完全性检验 | 1 |
42. 接雨水 | 1 |
面试题 16.03. 交点 | 1 |
108. 将有序数组转换为二叉搜索树 | 1 |
9. 回文数 | 1 |
240. 搜索二维矩阵 II | 1 |
169. 多数元素 | 1 |
450. 删除二叉搜索树中的节点 | 1 |
剑指 Offer 14- I. 剪绳子 | 1 |
203. 移除链表元素 | 1 |
227. 基本计算器 II | 1 |
31. 下一个排列 | 1 |
剑指 Offer 58 - II. 左旋转字符串 | 1 |
70. 爬楼梯 | 1 |
617. 合并二叉树 | 1 |
64. 最小路径和 | 1 |
1095. 山脉数组中查找目标值 | 1 |
354. 俄罗斯套娃信封问题 | 1 |
剑指 Offer 10- I. 斐波那契数列 | 1 |
104. 二叉树的最大深度 | 1 |
198. 打家劫舍 | 1 |
155. 最小栈 | 1 |
剑指 Offer 53 - I. 在排序数组中查找数字 I | 1 |
138. 复制带随机指针的链表 | 1 |
162. 寻找峰值 | 1 |
剑指 Offer 11. 旋转数组的最小数字 | 1 |
137. 只出现一次的数字 II | 1 |
518. 零钱兑换 II | 1 |
59. 螺旋矩阵 II | 1 |
4. 寻找两个正序数组的中位数 | 1 |
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 | 1 |
103. 二叉树的锯齿形层次遍历 | 1 |
121. 买卖股票的最佳时机 | 1 |
补充题20. 立方根 | 1 |
剑指 Offer 65. 不用加减乘除做加法 | 1 |
125. 验证回文串 | 1 |
56. 合并区间 | 1 |
165. 比较版本号 | 1 |
123. 买卖股票的最佳时机 III | 1 |
46. 全排列 | 1 |
136. 只出现一次的数字 | 1 |
101. 对称二叉树 | 1 |
129. 求根到叶子节点数字之和 | 1 |
剑指 Offer 43. 1~n整数中1出现的次数 | 1 |
242. 有效的字母异位词 | 1 |
面试题 02.08. 环路检测 | 1 |
剑指 Offer 15. 二进制中1的个数 | 1 |
128. 最长连续序列 | 1 |
120. 三角形最小路径和 | 1 |
283. 移动零 | 1 |
客户端
题目 | 出现次数 |
142. 环形链表 II | 4 |
剑指 Offer 10- I. 斐波那契数列 | 3 |
补充题4. 手撕快速排序 | 3 |
206. 反转链表 | 3 |
53. 最大子序和 | 2 |
54. 螺旋矩阵 | 2 |
141. 环形链表 | 2 |
19. 删除链表的倒数第N个节点 | 2 |
155. 最小栈 | 2 |
46. 全排列 | 2 |
236. 二叉树的最近公共祖先 | 2 |
剑指 Offer 52. 两个链表的第一个公共节点 | 2 |
199. 二叉树的右视图 | 1 |
312. 戳气球 | 1 |
718. 最长重复子数组 | 1 |
468. 验证IP地址 | 1 |
151. 翻转字符串里的单词 | 1 |
889. 根据前序和后序遍历构造二叉树 | 1 |
1143. 最长公共子序列 | 1 |
78. 子集 | 1 |
146. LRU缓存机制 | 1 |
234. 回文链表 | 1 |
69. x 的平方根 | 1 |
21. 合并两个有序链表 | 1 |
876. 链表的中间结点 | 1 |
剑指 Offer 22. 链表中倒数第k个节点 | 1 |
239. 滑动窗口最大值 | 1 |
64. 最小路径和 | 1 |
补充题19. 判断一个点是否在三角形内 | 1 |
24. 两两交换链表中的节点 | 1 |
200. 岛屿数量 | 1 |
25. K 个一组翻转链表 | 1 |
7. 整数反转 | 1 |
225. 用队列实现栈 | 1 |
62. 不同路径 | 1 |
121. 买卖股票的最佳时机 | 1 |
88. 合并两个有序数组 | 1 |
516. 最长回文子序列 | 1 |
144. 二叉树的前序遍历 | 1 |
102. 二叉树的层序遍历 | 1 |
559. N叉树的最大深度 | 1 |
剑指 Offer 40. 最小的k个数 | 1 |
300. 最长上升子序列 | 1 |
232. 用栈实现队列 | 1 |
20. 有效的括号 | 1 |
4. 寻找两个正序数组的中位数 | 1 |
160. 相交链表 | 1 |
113. 路径总和 II | 1 |
34. 在排序数组中查找元素的第一个和最后一个位置 | 1 |
剑指 Offer 10- II. 青蛙跳台阶问题 | 1 |
63. 不同路径 II | 1 |
70. 爬楼梯 | 1 |
算法
题目 | 出现次数 |
补充题4. 手撕快速排序 | 4 |
121. 买卖股票的最佳时机 | 3 |
128. 最长连续序列 | 2 |
剑指 Offer 65. 不用加减乘除做加法 | 2 |
215. 数组中的第K个最大元素 | 2 |
21. 合并两个有序链表 | 1 |
3. 无重复字符的最长子串 | 1 |
50. Pow(x, n) | 1 |
7. 整数反转 | 1 |
410. 分割数组的最大值 | 1 |
25. K 个一组翻转链表 | 1 |
146. LRU缓存机制 | 1 |
15. 三数之和 | 1 |
718. 最长重复子数组 | 1 |
2. 两数相加 | 1 |
226. 翻转二叉树 | 1 |
剑指 Offer 40. 最小的k个数 | 1 |
73. 矩阵置零 | 1 |
695. 岛屿的最大面积 | 1 |
面试题 17.24. 最大子矩阵 | 1 |
300. 最长上升子序列 | 1 |
39. 组合总和 | 1 |
剑指 Offer 22. 链表中倒数第k个节点 | 1 |
前端
题目 | 出现次数 |
70. 爬楼梯 | 3 |
补充题4. 手撕快速排序 | 3 |
剑指 Offer 10- I. 斐波那契数列 | 3 |
88. 合并两个有序数组 | 2 |
48. 旋转图像 | 2 |
322. 零钱兑换 | 2 |
136. 只出现一次的数字 | 2 |
415. 字符串相加 | 2 |
104. 二叉树的最大深度 | 2 |
53. 最大子序和 | 1 |
718. 最长重复子数组 | 1 |
283. 移动零 | 1 |
1518. 换酒问题 | 1 |
78. 子集 | 1 |
补充题19. 判断一个点是否在三角形内 | 1 |
704. 二分查找 | 1 |
141. 环形链表 | 1 |
654. 最大二叉树 | 1 |
557. 反转字符串中的单词 III | 1 |
102. 二叉树的层序遍历 | 1 |
21. 合并两个有序链表 | 1 |
54. 螺旋矩阵 | 1 |
199. 二叉树的右视图 | 1 |
498. 对角线遍历 | 1 |
20. 有效的括号 | 1 |
59. 螺旋矩阵 II | 1 |
172. 阶乘后的零 | 1 |
1. 两数之和 | 1 |
105. 从前序与中序遍历序列构造二叉树 | 1 |
260. 只出现一次的数字 III | 1 |
46. 全排列 | 1 |
1047. 删除字符串中的所有相邻重复项 | 1 |
15. 三数之和 | 1 |
14. 最长公共前缀 | 1 |
384. 打乱数组 | 1 |
63. 不同路径 II | 1 |
6. Z 字形变换 | 1 |
剑指 Offer 10- II. 青蛙跳台阶问题 | 1 |
剑指 Offer 48. 最长不含重复字符的子字符串 | 1 |
数据研发
题目 | 出现次数 |
补充题4. 手撕快速排序 | 3 |
215. 数组中的第K个最大元素 | 2 |
54. 螺旋矩阵 | 2 |
21. 合并两个有序链表 | 1 |
155. 最小栈 | 1 |
239. 滑动窗口最大值 | 1 |
剑指 Offer 22. 链表中倒数第k个节点 | 1 |
20. 有效的括号 | 1 |
15. 三数之和 | 1 |
53. 最大子序和 | 1 |
剑指 Offer 51. 数组中的逆序对 | 1 |
120. 三角形最小路径和 | 1 |
剑指 Offer 27. 二叉树的镜像 | 1 |
补充题5. 手撕归并排序 | 1 |
153. 寻找旋转排序数组中的最小值 | 1 |
测试/测试开发
题目 | 出现次数 |
3. 无重复字符的最长子串 | 6 |
242. 有效的字母异位词 | 4 |
232. 用栈实现队列 | 4 |
704. 二分查找 | 4 |
8. 字符串转换整数 (atoi) | 4 |
46. 全排列 | 4 |
53. 最大子序和 | 3 |
补充题4. 手撕快速排序 | 3 |
1. 两数之和 | 3 |
20. 有效的括号 | 3 |
7. 整数反转 | 3 |
剑指 Offer 53 - I. 在排序数组中查找数字 I | 3 |
136. 只出现一次的数字 | 3 |
468. 验证IP地址 | 3 |
718. 最长重复子数组 | 2 |
141. 环形链表 | 2 |
83. 删除排序链表中的重复元素 | 2 |
226. 翻转二叉树 | 2 |
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 | 2 |
239. 滑动窗口最大值 | 2 |
21. 合并两个有序链表 | 2 |
151. 翻转字符串里的单词 | 2 |
165. 比较版本号 | 2 |
剑指 Offer 57 - II. 和为s的连续正数序列 | 2 |
补充题14. 阿拉伯数字转中文数字 | 2 |
128. 最长连续序列 | 2 |
50. Pow(x, n) | 1 |
剑指 Offer 61. 扑克牌中的顺子 | 1 |
76. 最小覆盖子串 | 1 |
876. 链表的中间结点 | 1 |
14. 最长公共前缀 | 1 |
169. 多数元素 | 1 |
796. 旋转字符串 | 1 |
72. 编辑距离 | 1 |
460. LFU缓存 | 1 |
106. 从中序与后序遍历序列构造二叉树 | 1 |
70. 爬楼梯 | 1 |
415. 字符串相加 | 1 |
剑指 Offer 45. 把数组排成最小的数 | 1 |
240. 搜索二维矩阵 II | 1 |
23. 合并K个排序链表 | 1 |
9. 回文数 | 1 |
剑指 Offer 10- I. 斐波那契数列 | 1 |
26. 删除排序数组中的重复项 | 1 |
283. 移动零 | 1 |
88. 合并两个有序数组 | 1 |
34. 在排序数组中查找元素的第一个和最后一个位置 | 1 |
125. 验证回文串 | 1 |
28. 实现 strStr() | 1 |
206. 反转链表 | 1 |
101. 对称二叉树 | 1 |
167. 两数之和 II - 输入有序数组 | 1 |
32. 最长有效括号 | 1 |
15. 三数之和 | 1 |
#春招##面经##面试题目##美团##Java工程师#