Skip to main content

题库

类别

类型分支
模拟模拟
双指针双指针
滑动窗口滑动窗口
二分二分
树的搜索树的搜索
回溯算法回溯算法
贪心算法贪心算法
递归 & 迭代BFSDFS
图论BFSDFS多源 BFS双向 BFS迭代加深拓扑排序基环森林最短路最小生成树并查集启发式搜索
动态规划记忆化搜索线性 DP背包 DP序列 DP区间 DP状压 DP状态机 DP数位 DP树形 DP
数据结构二叉树哈希表红黑树链表单调栈队列单调队列字典树字符串哈希后缀数组
区间求和前缀和差分树状数组线段树分块莫队算法
排序排序
分治分治
数学数学
计算几何计算几何
容斥原理容斥原理
多路归并多路归并
子串匹配子串匹配
位运算位运算
最小表示法最小表示法
博弈论博弈论
三分三分
洗牌算法洗牌算法
二进制枚举二进制枚举
快速幂快速幂
矩阵快速幂矩阵快速幂
找规律找规律
脑筋急转弯脑筋急转弯
打表打表
约瑟夫环约瑟夫环
高精度高精度
蓄水池抽样蓄水池抽样
构造构造
原地哈希原地哈希
折半搜索折半搜索
常见问题n 数之和问题组合总和问题括号问题数独问题移除元素问题回文串问题表达式计算问题扫描线问题

剑指Offer

题号题解标签难度
03数组中重复的数字数组,哈希表简单
04二维数组中的查找数组,双指针中等
05替换空格简单
06从尾到头打印链表简单
07重建二叉树,递归中等
09用两个栈实现队列,设计简单
10- I斐波那契数列递归简单
10- II青蛙跳台阶问题递归简单
11旋转数组的最小数字二分查找简单
12矩阵中的路径动态规划中等
13机器人的运动范围中等
14- I剪绳子数学,动态规划中等
14- II剪绳子 II数学,动态规划中等
15二进制中 1 的个数位运算简单
16数值的整数次方递归中等
17打印从 1 到最大的 n 位数数学简单
18删除链表的节点链表简单
19正则表达式匹配动态规划困难
20表示数值的字符串数学中等
21调整数组顺序使奇数位于偶数前面简单
22链表中倒数第 k 个节点链表,双指针简单
24反转链表链表简单
25合并两个排序的链表分治算法简单
26树的子结构中等
27二叉树的镜像简单
28对称的二叉树简单
29顺时针打印矩阵数组简单
30包含 min 函数的栈,设计简单
31栈的压入、弹出序列中等
32 - I从上到下打印二叉树,广度优先搜索中等
32 - II从上到下打印二叉树 II,广度优先搜索简单
32 - III从上到下打印二叉树 III,广度优先搜索中等
33二叉搜索树的后序遍历序列中等
34二叉树中和为某一值的路径,深度优先搜索中等
35复杂链表的复制链表中等
36二叉搜索树与双向链表分治算法中等
37序列化二叉树,设计困难
38字符串的排列回溯算法中等
39数组中出现次数超过一半的数字位运算,分治算法简单
40最小的 k 个数,分治算法简单
41数据流中的中位数,设计困难
42连续子数组的最大和分治算法,动态规划简单
431 ~ n 整数中 1 出现的次数数学困难
44数字序列中某一位的数字数学中等
45把数组排成最小的数排序中等
46把数字翻译成字符串中等
47礼物的最大价值动态规划中等
48最长不含重复字符的子字符串哈希表,双指针中等
49丑数数学中等
50第一个只出现一次的字符哈希表简单
51数组中的逆序对困难
52两个链表的第一个公共节点链表简单
53 - I在排序数组中查找数字 I数组,二分查找简单
53 - II0 ~ n-1 中缺失的数字数组,二分查找简单
54二叉搜索树的第 k 大节点简单
55 - I二叉树的深度,深度优先搜索简单
55 - II平衡二叉树,深度优先搜索简单
56 - I数组中数字出现的次数中等
56 - II数组中数字出现的次数 II中等
57和为 s 的两个数字简单
57 - II和为 s 的连续正数序列简单
58 - I翻转单词顺序字符串简单
58 - II左旋转字符串字符串简单
59 - I滑动窗口的最大值困难
59 - II队列的最大值中等
60n 个骰子的点数中等
61扑克牌中的顺子简单
62圆圈中最后剩下的数字简单
63股票的最大利润动态规划中等
64求 1+2+…+n中等
65不用加减乘除做加法简单
66构建乘积数组中等
67把字符串转换成整数数学,字符串中等
68 - I二叉搜索树的最近公共祖先简单
68 - II二叉树的最近公共祖先简单

剑指Offer专题突击版

题号题解标签难度备注
001整数除法数学简单
002二进制加法位运算,数学,字符串,模拟简单
003前 n 个数字二进制中 1 的个数位运算,动态规划简单
004只出现一次的数字位运算,数组中等
005单词长度的最大乘积位运算,数组,字符串中等
006排序数组中两个数字之和数组,双指针,二分查找简单
007数组中和为 0 的三个数数组,双指针,排序中等
008和大于等于 target 的最短子数组数组,二分查找,前缀和,滑动窗口中等
009乘积小于 K 的子数组数组,滑动窗口中等
010和为 k 的子数组数组,哈希表,前缀和中等
0110 和 1 个数相同的子数组数组,哈希表,前缀和中等
012左右两边子数组的和相等数组,前缀和简单
013二维子矩阵的和设计,数组,矩阵,前缀和中等
014字符串中的变位词哈希表,双指针,字符串,滑动窗口中等
015字符串中的所有变位词哈希表,字符串,滑动窗口中等
016不含重复字符的最长子字符串哈希表,字符串,滑动窗口中等
017含有所有字符的最短字符串哈希表,字符串,滑动窗口困难
018有效的回文双指针,字符串简单
019最多删除一个字符得到回文贪心,双指针,字符串简单
020回文子字符串的个数字符串,动态规划中等
021删除链表的倒数第 n 个结点链表,双指针中等
022链表中环的入口节点哈希表,链表,双指针中等
023两个链表的第一个重合节点哈希表,链表,双指针简单
024反转链表递归,链表简单
025链表中的两数相加,链表,数学中等
026重排链表,递归,链表,双指针中等
027回文链表,递归,链表,双指针简单
028展平多级双向链表深度优先搜索,链表,双向链表中等
029排序的循环链表链表中等
030插入、删除和随机访问都是 O(1) 的容器设计,数组,哈希表,数学,随机化中等
031最近最少使用缓存设计,哈希表,链表,双向链表中等
032有效的变位词哈希表,字符串,排序简单
033变位词组哈希表,字符串,排序中等
034外星语言是否排序数组,哈希表,字符串简单
035最小时间差数组,数学,字符串,排序中等
036后缀表达式,数组,数学中等
037小行星碰撞,数组中等
038每日温度,数组,单调栈中等
039直方图最大矩形面积,数组,单调栈困难
040矩阵中最大的矩形,数组,动态规划,矩阵,单调栈困难
041滑动窗口的平均值设计,队列,数组,数据流简单
042最近请求次数设计,队列,数据流简单
043往完全二叉树添加节点,广度优先搜索,设计,二叉树中等
044二叉树每层的最大值,深度优先搜索,广度优先搜索,二叉树中等
045二叉树最底层最左边的值,深度优先搜索,广度优先搜索,二叉树中等
046二叉树的右侧视图,深度优先搜索,广度优先搜索,二叉树中等
047二叉树剪枝,深度优先搜索,二叉树中等
048序列化与反序列化二叉树,深度优先搜索,广度优先搜索,设计,字符串,二叉树困难
049从根节点到叶节点的路径数字之和,深度优先搜索,二叉树中等
050向下的路径节点之和,深度优先搜索,二叉树中等
051节点之和最大的路径,深度优先搜索,动态规划,二叉树困难
052展平二叉搜索树,,深度优先搜索,二叉搜索树,二叉树简单
053二叉搜索树中的中序后继,深度优先搜索,二叉搜索树,二叉树中等
054所有大于等于节点的值之和,深度优先搜索,二叉搜索树,二叉树中等
055二叉搜索树迭代器,,设计,二叉搜索树,二叉树,迭代器中等
056二叉搜索树中两个节点之和数组,滑动窗口简单
057值和下标之差都在给定的范围内数组,桶排序,有序集合,排序,滑动窗口中等
058日程表设计,线段树,有序集合中等
059数据流的第 K 大数值,设计,二叉搜索树,二叉树,数据流,堆(优先队列)简单
060出现频率最高的 k 个数字数组,哈希表,分治,桶排序,计数,快速选择,排序,堆(优先队列)中等
061和最小的 k 个数对数组,堆(优先队列)中等
062实现前缀树设计,字典树,哈希表,字符串中等
063替换单词字典树,数组,哈希表,字符串中等
064神奇的字典设计,字典树,哈希表,字符串中等
065最短的单词编码字典树,数组,哈希表,字符串中等
066单词之和设计,字典树,哈希表,字符串中等
067最大的异或位运算,字典树,数组,哈希表中等
068查找插入位置数组,二分查找简单
069山峰数组的顶部数组,二分查找简单
070排序数组中只出现一次的数字数组,二分查找中等
071按权重生成随机数数学,二分查找,前缀和,随机化中等
072求平方根数学,二分查找简单
073狒狒吃香蕉数组,二分查找中等
074合并区间数组,排序中等
075数组相对排序数组,哈希表,计数排序,排序简单
076数组中的第 k 大的数字数组,分治,快速选择,排序,堆(优先队列)中等
077链表排序链表,双指针,分治,排序,归并排序中等
078合并排序链表链表,分治,堆(优先队列),归并排序困难
079所有子集位运算,数组,回溯中等
080含有 k 个元素的组合数组,回溯中等
081允许重复选择元素的组合数组,回溯中等
082含有重复元素集合的组合数组,回溯中等
083没有重复元素集合的全排列数组,回溯中等
084含有重复元素集合的全排列数组,回溯中等
085生成匹配的括号字符串,动态规划,回溯中等
086分割回文子字符串深度优先搜索,广度优先搜索,,哈希表中等
087复原 IP字符串,回溯中等
088爬楼梯的最少成本数组,动态规划简单
089房屋偷盗数组,动态规划中等
090环形房屋偷盗数组,动态规划中等
091粉刷房子数组,动态规划中等
092翻转字符字符串,动态规划中等
093最长斐波那契数列数组,哈希表,动态规划中等
094最少回文分割字符串,动态规划困难
095最长公共子序列字符串,动态规划中等
096字符串交织字符串,动态规划中等
097子序列的数目字符串,动态规划困难
098路径的数目数学,动态规划,组合数学中等
099最小路径之和数组,动态规划,矩阵中等
100三角形中最小路径之和数组,动态规划中等
101分割等和子串数学,字符串,模拟简单
102加减的目标值数组,动态规划,回溯中等
103最少的硬币数目广度优先搜索,数组,动态规划中等
104排列的数目数组,动态规划中等
105岛屿的最大面积深度优先搜索,广度优先搜索,并查集,数组,矩阵中等
106二分图深度优先搜索,广度优先搜索,并查集,中等
107矩阵中的距离广度优先搜索,数组,动态规划,矩阵中等
108单词演变广度优先搜索,哈希表,字符串困难
109开密码锁广度优先搜索,数组,哈希表,字符串中等
110所有路径深度优先搜索,广度优先搜索,,回溯中等
111计算除法深度优先搜索,广度优先搜索,并查集,,数组,最短路中等
112最长递增路径深度优先搜索,广度优先搜索,,拓扑排序,记忆化搜索,动态规划困难
113课程顺序深度优先搜索,广度优先搜索,,拓扑排序中等
114外星文字典深度优先搜索,广度优先搜索,,拓扑排序,数组,字符串困难
115重建序列,拓扑排序,数组中等
116朋友圈深度优先搜索,广度优先搜索,并查集,中等
117相似的字符串深度优先搜索,广度优先搜索,并查集,字符串困难
118多余的边深度优先搜索,广度优先搜索,并查集,中等
119最长连续序列并查集,数组,哈希表中等