算法面试题型 MOC

算法面试题型分类地图,从识别题型到选择策略的完整速查。

#type / moc #status / growing #resource / algorithm #resource / interview

算法面试题型 MOC

[!tip] 学习心态 面试算法题是应试型技能,目标是:

  1. 看到题能快速识别题型
  2. 有限时间内给出正确、清晰、可解释的解法
  3. 能把思路讲出来
  4. 代码写得稳,边界处理不炸
  5. 能从 brute force 一步步优化到更优解

一、基础数据结构

数组与字符串

题型关键词核心思路深入
双指针有序数组、两数之和、去重对撞/快慢指针压缩搜索空间两数之和, 两数之和2, 三数之和, 盛最多水的容器, 接雨水, 移动零
滑动窗口连续子数组/子串、最长/最短维护窗口边界,O(n) 遍历滑动窗口, 无重复字符的最长子串, 滑动窗口最大值, 和为k的子数组, 字母异位词分组, 删除字符串中的所有相邻重复项
前缀和区间和、连续子数组和预处理前缀数组,O(1) 查询前缀和, 和为k的子数组
二分查找有序、搜索边界、最小/最大缩小搜索区间,注意边界二分查找, 搜索插入位置, 搜索旋转排序数组, 寻找旋转排序数组中的最小值, 在排序数组中查找元素的第一个和最后一个位置, 搜索二维矩阵, 最小除数, 分割数组的最大值
排序排序后处理、自定义排序先排序再贪心/双指针排序算法总结, 快速排序, 基数排序, 随机选择, Fisher-Yates 洗牌, 合并区间, 无重叠区间

链表

题型关键词核心思路深入
快慢指针环检测、中点、倒数第K快指针走两步,慢指针走一步链表面试模式, 寻找重复数
反转链表反转、部分反转三指针迭代或递归链表面试模式
合并链表两个有序链表合并归并思想合并K个升序链表
虚拟头节点删除节点、合并统一处理头节点
链表与二叉树链表转二叉树、回溯链表结构与树结构互转链表与二叉树回溯

栈与队列

题型关键词核心思路深入
单调栈下一个更大元素、柱状图维护递增/递减栈单调栈, 每日温度, 柱状图中最大的矩形, 小行星碰撞
单调队列滑动窗口最大值维护递减队列单调队列, 滑动窗口最大值
有效括号匹配、嵌套左括号入栈,右括号匹配, 有效括号, 最长有效括号, 基本计算器
最小栈O(1) 获取最小值辅助栈同步记录最小栈
栈与队列互实现用栈实现队列、用队列实现栈数据结构转换用栈实现队列, 用队列实现栈
栈的应用逆波兰表达式、就地操作栈的工程应用逆波兰表达式求值, 原地栈

哈希表

题型关键词核心思路深入
两数之和查找、配对哈希表存已遍历值哈希表与有序映射, 两数之和, 两数之和2
字符串统计字符频率、异位词哈希表计数字母异位词分组
前缀 + 哈希连续子数组和为K前缀和 + 哈希表和为k的子数组

堆(优先队列)

题型关键词核心思路深入
Top K第K大/小大小根堆堆与堆排序, 有序矩阵中第K小的元素
合并K个有序多路归并小根堆合并K个升序链表
中位数数据流中位数对顶堆堆面试问题
堆的应用最大重叠区间、数组操作堆在工程问题中的运用最大重叠区间堆, 数组求和减半, 使列严格递增的最少操作

二、树与图

二叉树

题型关键词核心思路深入
遍历前/中/后/层序递归或迭代(栈/队列)二叉树基础, 二叉树层序遍历, 二叉树锯齿形层序遍历
深度/高度最大深度、最小深度DFS 递归二叉树的最大深度, 二叉树的最小深度
路径问题路径和、所有路径DFS + 回溯二叉树高频题, 路径总和, 二叉树最长交错路径
LCA最近公共祖先后序遍历二叉树的最近公共祖先
序列化二叉树转字符串前序/层序二叉树前序序列化, 二叉树层序序列化
构建树前序+中序还原递归分割从前序与中序遍历序列构造二叉树
对称/相同镜像、相同树递归比较对称二叉树, 相同的树
树的属性翻转、好节点、宽度、节点计数树的结构与属性问题翻转二叉树, 统计二叉树中好节点的数目, 二叉树最大宽度, 完全二叉树的节点个数, 验证完全二叉树

BST(二叉搜索树)

题型关键词核心思路
验证 BST有序性中序遍历 or 递归上下界
查找/插入/删除BST 操作利用有序性递归/迭代
第K小有序性中序遍历计数

题型关键词核心思路深入
DFS/BFS 遍历连通分量、岛屿标记已访问 + 递归/队列DFS/BFS/回溯
拓扑排序课程表、依赖关系BFS(入度表)或 DFS
最短路径无权图最短路径BFS
并查集连通性、合并集合路径压缩 + 按秩合并

三、动态规划

[!info] DP 核心

  1. 找状态:明确 dp[i]dp[i][j] 代表什么
  2. 找选择:每个状态由哪些子状态转移而来
  3. 找 base case:最小子问题的答案

线性 DP

题型经典题深入
爬楼梯70. Climbing Stairs线性DP, 爬楼梯, 斐波那契数列
打家劫舍198. House Robber线性DP, 打家劫舍, 打家劫舍II, 打家劫舍III
最长递增子序列300. LIS线性DP, 最长递增子序列
最长公共子序列1143. LCSLCS模板, 最长公共子序列
编辑距离72. Edit Distance编辑距离模板, 编辑距离
不同子序列115. Distinct Subsequences线性DP, 不同的子序列

背包 DP

类型特点深入
01 背包每件物品选一次01背包模板, 分割等和子集, 目标和
完全背包每件物品无限选完全背包模板, 零钱兑换, 零钱兑换II
多重背包每件物品有限选背包DP

区间 DP

题型经典题深入
戳气球312. Burst Balloons区间与状态机DP, 戳气球
最长回文子串5. Longest Palindromic Substring区间与状态机DP, 最长回文子串, 最长回文子序列
石子合并区间合并区间与状态机DP

网格 DP

题型经典题深入
不同路径62. Unique Paths网格与序列DP, 不同路径
最小路径和64. Minimum Path Sum网格与序列DP, 最小路径和
矩阵中的路径搜索 + DP网格与序列DP

树形 DP

题型经典题深入
打家劫舍 III337. House Robber III树形DP, 打家劫舍III
二叉树直径543. Diameter of Binary Tree树形DP

状态机 DP

题型经典题深入
买卖股票121/122/123/188/309/714区间与状态机DP, 买卖股票的最佳时机, 买卖股票的最佳时机IV, 最佳买卖股票时机含冷冻期, 买卖股票的最佳时机含手续费, 股票交易面试题

数位 DP

题型经典题深入
数字1的个数233. Number of Digit One数位DP

概率 DP

题型经典题深入
掷骰子概率概率计算概率DP

四、搜索与回溯

DFS / BFS

题型关键词核心思路深入
岛屿问题连通区域、染色DFS/BFS 遍历标记DFS/BFS/回溯
走迷宫最短路径、可达性BFS 层序遍历DFS/BFS/回溯
单词搜索网格搜索DFS + 回溯DFS/BFS/回溯

回溯

题型关键词模板要点深入
全排列排列、顺序有关used 数组标记全排列回溯模板
组合组合、顺序无关start 参数去重回溯算法, 电话号码的字母组合
子集所有子集每个位置选/不选回溯算法
N 皇后棋盘、约束列/对角线标记回溯算法
数独约束填充逐格尝试回溯算法

递归

题型关键词核心思路深入
分治大问题拆小问题递归 + 合并结果递归算法
汉诺塔经典递归三步分解递归算法

五、贪心算法

题型关键词核心思路深入
区间调度不重叠区间、最少删除按结束时间排序贪心算法, 无重叠区间
跳跃游戏最远可达维护最远边界贪心算法
分发糖果相邻约束两次遍历贪心算法
加油站环形遍历累积剩余油量贪心算法
贪心其他最少魔法豆、买苹果折扣排序后贪心移除魔法豆, 买糖果折扣, 重新分配苹果

六、位运算

题型关键词核心思路深入
只出现一次的数异或性质a ^ a = 0异或与位运算技巧
2的幂位判断n & (n-1) == 0位运算
位计数1的个数n & (n-1) 消最低位1位运算
子集枚举位掩码二进制表示选/不选位图与位集

七、数学与模拟

题型关键词核心思路
快速幂幂运算二进制分解指数
最大公约数GCD/LCM辗转相除法
质数判断素数试除法 / 埃氏筛
进制转换进制除基取余
日期计算日历模拟或公式

八、字符串专项

题型关键词核心思路
KMP模式匹配构建 next 数组
最长回文子串中心扩展 / Manacher中心扩散或线性算法
字符串哈希快速比较子串预处理哈希值
正则匹配模式匹配DP 或递归

题型识别速查表

[!tip] 看到这些关键词,想到这些方法

关键词优先考虑
有序数组二分查找、双指针
连续子数组/子串滑动窗口、前缀和
第K大/小堆(优先队列)、快速选择
配对/两数哈希表、排序+双指针
所有方案/排列组合回溯
最优值/最少/最多动态规划、贪心
连通/岛屿/区域DFS/BFS、并查集
下一个更大/更小单调栈
滑动窗口最值单调队列
环检测/中点快慢指针
对称/匹配/嵌套
区间合并/重叠排序 + 贪心
树的路径/深度DFS 递归
依赖关系/先后顺序拓扑排序
状态转移动态规划
选/不选01背包、回溯
无限选完全背包

解题步骤模板

1. 读题 → 识别关键词 → 判断题型
2. 想暴力解 → 确定时间复杂度
3. 思考优化方向
   - 能否用空间换时间?→ 哈希表/DP
   - 能否减少重复计算?→ 记忆化/DP
   - 能否利用有序性?→ 排序/二分
   - 能否缩小搜索空间?→ 贪心/剪枝
4. 写代码 → 注意边界 → 自测用例
5. 复杂度分析 → 能口述

九、密码学与加密算法

[!info] 密码学与数学基础 这一组覆盖古典密码、对称加密、非对称加密和相关数学基础。

对称加密

题型关键词深入
DES数据加密标准DES 数据加密标准
3DES三重 DES3DES
ECB 模式电子密码本ECB 模式
CBC 模式密码分组链接CBC 模式
CFB 模式密码反馈CFB 模式

非对称加密

题型关键词深入
RSA公钥加密RSA 算法

古典密码

题型关键词深入
仿射密码线性变换仿射密码

密码学数学基础

题型关键词深入
模逆元模运算、逆元素模逆元
欧拉函数数论、互质欧拉函数

十、数据结构设计与综合题

题型关键词核心思路深入
数据结构设计组合数据结构设计满足特定操作的数据结构数据结构设计面试
AVL 树自平衡二叉搜索树旋转维持平衡AVL树
分治法大问题拆小递归分解 + 合并分治法
数组轮转旋转数组三次翻转或环状替换轮转数组
最长连续序列哈希集合O(n) 查找连续序列最长连续序列
数组操作移动零、最小操作双指针或数学推导移动零, 使数组全零的最少操作

学习资源与面试


延伸阅读

相关地图

创建于 2026/3/21 更新于 2026/7/15