【分类整理】面试最常考的 100 道算法题
大家好,我是 负雪明烛,一位用 7 年写了 1000 篇 LeetCode 算法题题解的程序员。欢迎关注。
粉丝常说:LeetCode 算法题太多了,准备面试该刷哪些题目?
我之前根据 LeetCode 上面的点赞量分享过: LeetCode 上最经典的 100 道算法题 。
这 100 道题目都属于经典题目了,面试也常考,不过我还是不放心呢,毕竟经典题 ≠ 面试题呀!
但如果想知道面试常考的 100 道算法题的话,需要至少整理 1000 篇面经吧?这个工作量可不小啊!
还好,网上有个开源项目,帮我们做了这件事情,这个项目就是 CodeTop!
这是网站的界面(地址:https://codetop.cc/home ),展示的就是每个面试题目出现的频度情况,甚至区分了公司和岗位:
这是开源项目的 GitHub 主页,已经 11.5k star ⭐️ 了:
这个项目中的题目来源是***的面经、网友投票等,而且持续更新中,所以还是比较可靠的。
我对这个项目做了整理,分类整理出来面试常考的 100 道算法题。
在整理之后,我对结果还是有点惊讶的!因为一些常见的数据结构与算法,竟然没有在常考面试中出现过!
比如前缀和、前缀树、并查集、图,这些都没有出现……
最常考面试题还是很基本的链表、二叉树、动态规划等等,是不是符合你的认知呢?
强烈建议大家在面试前把这 100 道题目搞懂!
作为宠粉达人,我提供了 3 种方式查看这 100 道题目:
- 思维导图
- 力扣(LeetCode)题单
- 所有的题目链接
没有任何套路,直接分享给大家!
思维导图
在线查看地址: https://www.mubucm.com/doc/7jiBYKCKqet
力扣(LeetCode)题单
在线查看地址:https://leetcode-cn.com/problem-list/q3iOID0B/
所有题目的地址如下:
数据结构篇
数组
- 88. 合并两个有序数组,简单
- 240. 搜索二维矩阵 II,中等
- 54. 螺旋矩阵,中等
- 48. 旋转图像,中等
链表
- 206. 反转链表,简单
- 25. K 个一组翻转链表,困难
- 141. 环形链表,简单
- 21. 合并两个有序链表,简单
- 160. 相交链表,简单
- 92. 反转链表 II,中等
- 23. 合并K个排序链表,困难
- 142. 环形链表 II,中等
- 143. 重排链表,中等
- 剑指 Offer 22. 链表中倒数第k个节点,简单
- 19. 删除链表的倒数第N个节点,中等
- 82. 删除排序链表中的重复元素 II,中等
- 2. 两数相加,中等
- 148. 排序链表,中等
- 234. 回文链表,简单
- 83. 删除排序链表中的重复元素,简单
- 138. 复制带随机指针的链表,中等
- 24. 两两交换链表中的节点,中等
二叉树
遍历
前序遍历
中序遍历
- 94. 二叉树的中序遍历,简单
层序遍历
视图
- 199. 二叉树的右视图,中等
二叉搜索树
求深度
- 104. 二叉树的最大深度,简单
- 110. 平衡二叉树,简单
求直径
- 543. 二叉树的直径,简单
对称
- 101. 对称二叉树,简单
翻转
- 226. 翻转二叉树,简单
最近公共祖先
路径
- 112. 路径总和,简单
- 124. 二叉树中的最大路径和,困难
重建二叉树
栈与队列
- 20. 有效的括号,简单
- 42. 接雨水,困难
- 232. 用栈实现队列,简单
- 155. 最小栈,简单
- 227. 基本计算器 II,中等
哈希表 HashMap
- 146. LRU缓存机制,中等
- 1. 两数之和,简单
- 15. 三数之和,中等
- 41. 缺失的第一个正数,困难
- 169. 多数元素,简单
- 128. 最长连续序列,中等
字符串
- 415. 字符串相加,简单
- 8. 字符串转换整数 (atoi),中等
- 151. 翻转字符串里的单词,中等
- 43. 字符串相乘,中等
- 468. 验证IP地址,中等
- 14. 最长公共前缀,简单
- 394. 字符串解码,中等
堆
算法篇
二分查找
- 704. 二分查找,容易
- 33. 搜索旋转排序数组,中等
- 69. Sqrt(x),简单
- 4. 寻找两个正序数组的中位数,困难
- 34. 在排序数组中查找元素的第一个和最后一个位置,中等
- 153. 寻找旋转排序数组中的最小值,中等
- 162. 寻找峰值,中等
排序
深度优先搜索 DFS
- 200. 岛屿数量,中等
- 129. 求根节点到叶节点数字之和,中等
广度优先搜索 BFS
- 695. 岛屿的最大面积,中等
- 958. 二叉树的完全性检验,中等
位运算
算法思维
双指针
- 31. 下一个排列,中等
- 165. 比较版本号,中等
滑动窗口
- 3. 无重复字符的最长子串,中等
- 76. 最小覆盖子串,困难
- 239. 滑动窗口最大值,困难
回溯法
- 46. 全排列,中等
- 93. 复原 IP 地址,中等
- 113. 路径总和 II,中等
- 78. 子集,中等
- 22. 括号生成,中等
- 39. 组合总和,中等
动态规划
- 53. 最大子数组和,简单
- 121. 买卖股票的最佳时机,简单
- 122. 买卖股票的最佳时机 II,中等
- 5. 最长回文子串,中等
- 300. 最长递增子序列,中等
- 70. 爬楼梯,简单
- 72. 编辑距离,困难
- 1143. 最长公共子序列,中等
- 718. 最长重复子数组,中等
- 322. 零钱兑换,中等
- 32. 最长有效括号,困难
- 64. 最小路径和,中等
- 62. 不同路径,中等
- 221. 最大正方形,中等
- 198. 打家劫舍,中等
数学
如果你觉得对你有帮助的话,求赞、求分享、求收藏。你的每一点鼓励都是对我的最大帮助!