字节跳动3月高频算法题汇总
前言
我是一个搬砖的胖子,21届硕。
去年准备秋招时,我总结了许多大厂算法题,并因此获得了牛客年度贡献榜Top2。
本次汇总了字节3.1日~3.31日的251篇面经,所涉及的手撕代码题如下表所示。
字节3月高频题榜单
题目 | 出现次数 |
---|---|
25. K 个一组翻转链表 | 15 |
3. 无重复字符的最长子串 | 14 |
160. 相交链表 | 12 |
215. 数组中的第K个最大元素 | 11 |
103. 二叉树的锯齿形层次遍历 | 10 |
200. 岛屿数量 | 8 |
56. 合并区间 | 8 |
1. 两数之和 | 8 |
88. 合并两个有序数组 | 7 |
5. 最长回文子串 | 7 |
121. 买卖股票的最佳时机 | 6 |
300. 最长上升子序列 | 6 |
剑指 Offer 22. 链表中倒数第k个节点 | 6 |
补充题4. 手撕快速排序 | 6 |
15. 三数之和 | 5 |
958. 二叉树的完全性检验 | 5 |
206. 反转链表 | 5 |
142. 环形链表 II | 5 |
21. 合并两个有序链表 | 5 |
94. 二叉树的中序遍历 | 5 |
83. 删除排序链表中的重复元素 | 5 |
23. 合并K个排序链表 | 5 |
33. 搜索旋转排序数组 | 5 |
230. 二叉搜索树中第K小的元素 | 5 |
补充题1. 排序奇升偶降链表 | 4 |
146. LRU缓存机制 | 4 |
54. 螺旋矩阵 | 4 |
169. 多数元素 | 4 |
143. 重排链表 | 4 |
240. 搜索二维矩阵 II | 4 |
剑指 Offer 62. 圆圈中最后剩下的数字 | 4 |
141. 环形链表 | 4 |
232. 用栈实现队列 | 4 |
124. 二叉树中的最大路径和 | 4 |
112. 路径总和 | 4 |
92. 反转链表 II | 4 |
122. 买卖股票的最佳时机 II | 3 |
113. 路径总和 II | 3 |
70. 爬楼梯 | 3 |
226. 翻转二叉树 | 3 |
165. 比较版本号 | 3 |
53. 最大子序和 | 3 |
102. 二叉树的层序遍历 | 3 |
64. 最小路径和 | 3 |
42. 接雨水 | 3 |
199. 二叉树的右视图 | 3 |
补充题9. 36进制加法 | 3 |
98. 验证二叉搜索树 | 3 |
46. 全排列 | 3 |
236. 二叉树的最近公共祖先 | 3 |
138. 复制带随机指针的链表 | 3 |
718. 最长重复子数组 | 3 |
227. 基本计算器 II | 3 |
39. 组合总和 | 2 |
101. 对称二叉树 | 2 |
剑指 Offer 36. 二叉搜索树与双向链表 | 2 |
26. 删除排序数组中的重复项 | 2 |
32. 最长有效括号 | 2 |
76. 最小覆盖子串 | 2 |
105. 从前序与中序遍历序列构造二叉树 | 2 |
224. 基本计算器 | 2 |
225. 用队列实现栈 | 2 |
剑指 Offer 27. 二叉树的镜像 | 2 |
4. 寻找两个正序数组的中位数 | 2 |
209. 长度最小的子数组 | 2 |
20. 有效的括号 | 2 |
剑指 Offer 54. 二叉搜索树的第k大节点 | 2 |
34. 在排序数组中查找元素的第一个和最后一个位置 | 2 |
剑指 Offer 10- I. 斐波那契数列 | 2 |
125. 验证回文串 | 2 |
680. 验证回文字符串 Ⅱ | 2 |
110. 平衡二叉树 | 2 |
补充题5. 手撕归并排序 | 2 |
470. 用 Rand7() 实现 Rand10() | 2 |
151. 翻转字符串里的单词 | 2 |
108. 将有序数组转换为二叉搜索树 | 2 |
补充题6. 手撕堆排序 | 2 |
22. 括号生成 | 2 |
剑指 Offer 09. 用两个栈实现队列 | 2 |
2. 两数相加 | 2 |
72. 编辑距离 | 2 |
48. 旋转图像 | 2 |
415. 字符串相加 | 2 |
468. 验证IP地址 | 2 |
补充题3. 求区间最小数乘区间和的最大值 | 2 |
129. 求根到叶子节点数字之和 | 2 |
69. x 的平方根 | 2 |
349. 两个数组的交集 | 2 |
75. 颜色分类 | 1 |
287. 寻找重复数 | 1 |
572. 另一个树的子树 | 1 |
41. 缺失的第一个正数 | 1 |
977. 有序数组的平方 | 1 |
974. 和可被 K 整除的子数组 | 1 |
剑指 Offer 04. 二维数组中的查找 | 1 |
59. 螺旋矩阵 II | 1 |
647. 回文子串 | 1 |
1438. 绝对差不超过限制的最长连续子数组 | 1 |
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 | 1 |
836. 矩形重叠 | 1 |
91. 解码方法 | 1 |
179. 最大数 | 1 |
剑指 Offer 17. 打印从1到最大的n位数 | 1 |
剑指 Offer 46. 把数字翻译成字符串 | 1 |
60. 排列序列 | 1 |
104. 二叉树的最大深度 | 1 |
面试题 17.24. 最大子矩阵 | 1 |
547. 省份数量(原朋友圈) | 1 |
148. 排序链表 | 1 |
剑指 Offer 51. 数组中的逆序对 | 1 |
补充题10. 36进制减法 | 1 |
198. 打家劫舍 | 1 |
543. 二叉树的直径 | 1 |
460. LFU缓存 | 1 |
1302. 层数最深叶子节点的和 | 1 |
189. 旋转数组 | 1 |
361. 轰炸敌人 | 1 |
704. 二分查找 | 1 |
862. 和至少为 K 的最短子数组 | 1 |
127. 单词接龙 | 1 |
96. 不同的二叉搜索树 | 1 |
8. 字符串转换整数 (atoi) | 1 |
16. 最接近的三数之和 | 1 |
10. 正则表达式匹配 | 1 |
120. 三角形最小路径和 | 1 |
239. 滑动窗口最大值 | 1 |
129. 求根节点到叶节点数字之和 | 1 |
1047. 删除字符串中的所有相邻重复项 | 1 |
剑指 Offer 55 - I. 二叉树的深度 | 1 |
补充题14. 阿拉伯数字转中文数字 | 1 |
面试题 08.05. 递归乘法 | 1 |
670. 最大交换 | 1 |
93. 复原IP地址 | 1 |
405. 数字转换为十六进制数 | 1 |
1420. 生成数组 | 1 |
155. 最小栈 | 1 |
14. 最长公共前缀 | 1 |
429. N 叉树的层序遍历 | 1 |
93. 复原 IP 地址 | 1 |
136. 只出现一次的数字 | 1 |
61. 旋转链表 | 1 |
394. 字符串解码 | 1 |
18. 四数之和 | 1 |
329. 矩阵中的最长递增路径 | 1 |
191. 位1的个数 | 1 |
887. 鸡蛋掉落 | 1 |
剑指 Offer 11. 旋转数组的最小数字 | 1 |
297. 二叉树的序列化与反序列化 | 1 |
153. 寻找旋转排序数组中的最小值 | 1 |
611. 有效三角形的个数 | 1 |
剑指 Offer 03. 数组中重复的数字 | 1 |
62. 不同路径 | 1 |
322. 零钱兑换 | 1 |
31. 下一个排列 | 1 |
765. 情侣牵手 | 1 |
77. 组合 | 1 |
378. 有序矩阵中第 K 小的元素 | 1 |
19. 删除链表的倒数第N个节点 | 1 |
106. 从中序与后序遍历序列构造二叉树 | 1 |
剑指 Offer 33. 二叉搜索树的后序遍历序列 | 1 |
498. 对角线遍历 | 1 |
695. 岛屿的最大面积 | 1 |
11. 盛最多水的容器 | 1 |
剑指 Offer 38. 字符串的排列 | 1 |
739. 每日温度 | 1 |
78. 子集 | 1 |
23. 合并K个升序链表 | 1 |
补充题2. 圆环回原点问题 | 1 |
103. 二叉树的锯齿形层序遍历 | 1 |
402. 移掉K位数字 | 1 |
334. 递增的三元子序列 | 1 |
19. 删除链表的倒数第 N 个结点 | 1 |
429. N叉树的层序遍历 | 1 |