--- comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/README.md --- # [《剑指 Offer(专项突击版)》系列](https://leetcode.cn/problem-list/e8X3pBZi) ![](./lcof2.jpg) 本书精选国内外名企高频面试题并深度拓展,系统地总结了程序员面试中必备的数据结构与算法知识,并以面试者及面试官的双向视角剖析考点与解题思路,适合所有正在准备面试的程序员阅读。 ## 题解 列表所有题解均由 [开源社区 Doocs](https://github.com/doocs) 贡献者提供,正在完善中,欢迎贡献你的题解! 快速搜索题号、题解、标签等,请善用 Control + F(或者 Command + F)。 | 题号 | 题解 | 标签 | 难度 | 备注 | | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ---- | ---- | | [001](https://leetcode.cn/problems/xoh6Oh) | [ 整数除法](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20001.%20%E6%95%B4%E6%95%B0%E9%99%A4%E6%B3%95/README.md) | `数学` | 简单 | | [002](https://leetcode.cn/problems/JFETK5) | [ 二进制加法](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20002.%20%E4%BA%8C%E8%BF%9B%E5%88%B6%E5%8A%A0%E6%B3%95/README.md) | `位运算`,`数学`,`字符串`,`模拟` | 简单 | | [003](https://leetcode.cn/problems/w3tCBm) | [ 前 n 个数字二进制中 1 的个数](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20003.%20%E5%89%8D%20n%20%E4%B8%AA%E6%95%B0%E5%AD%97%E4%BA%8C%E8%BF%9B%E5%88%B6%E4%B8%AD%201%20%E7%9A%84%E4%B8%AA%E6%95%B0/README.md) | `位运算`,`动态规划` | 简单 | | [004](https://leetcode.cn/problems/WGki4K) | [ 只出现一次的数字](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20004.%20%E5%8F%AA%E5%87%BA%E7%8E%B0%E4%B8%80%E6%AC%A1%E7%9A%84%E6%95%B0%E5%AD%97/README.md) | `位运算`,`数组` | 中等 | | [005](https://leetcode.cn/problems/aseY1I) | [ 单词长度的最大乘积](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20005.%20%E5%8D%95%E8%AF%8D%E9%95%BF%E5%BA%A6%E7%9A%84%E6%9C%80%E5%A4%A7%E4%B9%98%E7%A7%AF/README.md) | `位运算`,`数组`,`字符串` | 中等 | | [006](https://leetcode.cn/problems/kLl5u1) | [ 排序数组中两个数字之和](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20006.%20%E6%8E%92%E5%BA%8F%E6%95%B0%E7%BB%84%E4%B8%AD%E4%B8%A4%E4%B8%AA%E6%95%B0%E5%AD%97%E4%B9%8B%E5%92%8C/README.md) | `数组`,`双指针`,`二分查找` | 简单 | | [007](https://leetcode.cn/problems/1fGaJU) | [ 数组中和为 0 的三个数](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20007.%20%E6%95%B0%E7%BB%84%E4%B8%AD%E5%92%8C%E4%B8%BA%200%20%E7%9A%84%E4%B8%89%E4%B8%AA%E6%95%B0/README.md) | `数组`,`双指针`,`排序` | 中等 | | [008](https://leetcode.cn/problems/2VG8Kg) | [ 和大于等于 target 的最短子数组](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20008.%20%E5%92%8C%E5%A4%A7%E4%BA%8E%E7%AD%89%E4%BA%8E%20target%20%E7%9A%84%E6%9C%80%E7%9F%AD%E5%AD%90%E6%95%B0%E7%BB%84/README.md) | `数组`,`二分查找`,`前缀和`,`滑动窗口` | 中等 | | [009](https://leetcode.cn/problems/ZVAVXX) | [ 乘积小于 K 的子数组](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20009.%20%E4%B9%98%E7%A7%AF%E5%B0%8F%E4%BA%8E%20K%20%E7%9A%84%E5%AD%90%E6%95%B0%E7%BB%84/README.md) | `数组`,`滑动窗口` | 中等 | | [010](https://leetcode.cn/problems/QTMn0o) | [ 和为 k 的子数组](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20010.%20%E5%92%8C%E4%B8%BA%20k%20%E7%9A%84%E5%AD%90%E6%95%B0%E7%BB%84/README.md) | `数组`,`哈希表`,`前缀和` | 中等 | | [011](https://leetcode.cn/problems/A1NYOS) | [ 0 和 1 个数相同的子数组](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20011.%200%20%E5%92%8C%201%20%E4%B8%AA%E6%95%B0%E7%9B%B8%E5%90%8C%E7%9A%84%E5%AD%90%E6%95%B0%E7%BB%84/README.md) | `数组`,`哈希表`,`前缀和` | 中等 | | [012](https://leetcode.cn/problems/tvdfij) | [ 左右两边子数组的和相等](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20012.%20%E5%B7%A6%E5%8F%B3%E4%B8%A4%E8%BE%B9%E5%AD%90%E6%95%B0%E7%BB%84%E7%9A%84%E5%92%8C%E7%9B%B8%E7%AD%89/README.md) | `数组`,`前缀和` | 简单 | | [013](https://leetcode.cn/problems/O4NDxx) | [ 二维子矩阵的和](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20013.%20%E4%BA%8C%E7%BB%B4%E5%AD%90%E7%9F%A9%E9%98%B5%E7%9A%84%E5%92%8C/README.md) | `设计`,`数组`,`矩阵`,`前缀和` | 中等 | | [014](https://leetcode.cn/problems/MPnaiL) | [ 字符串中的变位词](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20014.%20%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E7%9A%84%E5%8F%98%E4%BD%8D%E8%AF%8D/README.md) | `哈希表`,`双指针`,`字符串`,`滑动窗口` | 中等 | | [015](https://leetcode.cn/problems/VabMRr) | [ 字符串中的所有变位词](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20015.%20%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E5%8F%98%E4%BD%8D%E8%AF%8D/README.md) | `哈希表`,`字符串`,`滑动窗口` | 中等 | | [016](https://leetcode.cn/problems/wtcaE1) | [ 不含重复字符的最长子字符串](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20016.%20%E4%B8%8D%E5%90%AB%E9%87%8D%E5%A4%8D%E5%AD%97%E7%AC%A6%E7%9A%84%E6%9C%80%E9%95%BF%E5%AD%90%E5%AD%97%E7%AC%A6%E4%B8%B2/README.md) | `哈希表`,`字符串`,`滑动窗口` | 中等 | | [017](https://leetcode.cn/problems/M1oyTv) | [ 含有所有字符的最短字符串](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20017.%20%E5%90%AB%E6%9C%89%E6%89%80%E6%9C%89%E5%AD%97%E7%AC%A6%E7%9A%84%E6%9C%80%E7%9F%AD%E5%AD%97%E7%AC%A6%E4%B8%B2/README.md) | `哈希表`,`字符串`,`滑动窗口` | 困难 | | [018](https://leetcode.cn/problems/XltzEq) | [ 有效的回文](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20018.%20%E6%9C%89%E6%95%88%E7%9A%84%E5%9B%9E%E6%96%87/README.md) | `双指针`,`字符串` | 简单 | | [019](https://leetcode.cn/problems/RQku0D) | [ 最多删除一个字符得到回文](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20019.%20%E6%9C%80%E5%A4%9A%E5%88%A0%E9%99%A4%E4%B8%80%E4%B8%AA%E5%AD%97%E7%AC%A6%E5%BE%97%E5%88%B0%E5%9B%9E%E6%96%87/README.md) | `贪心`,`双指针`,`字符串` | 简单 | | [020](https://leetcode.cn/problems/a7VOhD) | [ 回文子字符串的个数](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20020.%20%E5%9B%9E%E6%96%87%E5%AD%90%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E4%B8%AA%E6%95%B0/README.md) | `字符串`,`动态规划` | 中等 | | [021](https://leetcode.cn/problems/SLwz0R) | [ 删除链表的倒数第 n 个结点](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20021.%20%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E7%9A%84%E5%80%92%E6%95%B0%E7%AC%AC%20n%20%E4%B8%AA%E7%BB%93%E7%82%B9/README.md) | `链表`,`双指针` | 中等 | | [022](https://leetcode.cn/problems/c32eOV) | [ 链表中环的入口节点](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20022.%20%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%8E%AF%E7%9A%84%E5%85%A5%E5%8F%A3%E8%8A%82%E7%82%B9/README.md) | `哈希表`,`链表`,`双指针` | 中等 | | [023](https://leetcode.cn/problems/3u1WK4) | [ 两个链表的第一个重合节点](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20023.%20%E4%B8%A4%E4%B8%AA%E9%93%BE%E8%A1%A8%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E9%87%8D%E5%90%88%E8%8A%82%E7%82%B9/README.md) | `哈希表`,`链表`,`双指针` | 简单 | | [024](https://leetcode.cn/problems/UHnkqh) | [ 反转链表](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20024.%20%E5%8F%8D%E8%BD%AC%E9%93%BE%E8%A1%A8/README.md) | `递归`,`链表` | 简单 | | [025](https://leetcode.cn/problems/lMSNwu) | [ 链表中的两数相加](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20025.%20%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E4%B8%A4%E6%95%B0%E7%9B%B8%E5%8A%A0/README.md) | `栈`,`链表`,`数学` | 中等 | | [026](https://leetcode.cn/problems/LGjMqU) | [ 重排链表](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20026.%20%E9%87%8D%E6%8E%92%E9%93%BE%E8%A1%A8/README.md) | `栈`,`递归`,`链表`,`双指针` | 中等 | | [027](https://leetcode.cn/problems/aMhZSa) | [ 回文链表](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20027.%20%E5%9B%9E%E6%96%87%E9%93%BE%E8%A1%A8/README.md) | `栈`,`递归`,`链表`,`双指针` | 简单 | | [028](https://leetcode.cn/problems/Qv1Da2) | [ 展平多级双向链表](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20028.%20%E5%B1%95%E5%B9%B3%E5%A4%9A%E7%BA%A7%E5%8F%8C%E5%90%91%E9%93%BE%E8%A1%A8/README.md) | `深度优先搜索`,`链表`,`双向链表` | 中等 | | [029](https://leetcode.cn/problems/4ueAj6) | [ 排序的循环链表](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20029.%20%E6%8E%92%E5%BA%8F%E7%9A%84%E5%BE%AA%E7%8E%AF%E9%93%BE%E8%A1%A8/README.md) | `链表` | 中等 | | [030](https://leetcode.cn/problems/FortPu) | [ 插入、删除和随机访问都是 O(1) 的容器](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20030.%20%E6%8F%92%E5%85%A5%E3%80%81%E5%88%A0%E9%99%A4%E5%92%8C%E9%9A%8F%E6%9C%BA%E8%AE%BF%E9%97%AE%E9%83%BD%E6%98%AF%20O%281%29%20%E7%9A%84%E5%AE%B9%E5%99%A8/README.md) | `设计`,`数组`,`哈希表`,`数学`,`随机化` | 中等 | | [031](https://leetcode.cn/problems/OrIXps) | [ 最近最少使用缓存](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20031.%20%E6%9C%80%E8%BF%91%E6%9C%80%E5%B0%91%E4%BD%BF%E7%94%A8%E7%BC%93%E5%AD%98/README.md) | `设计`,`哈希表`,`链表`,`双向链表` | 中等 | | [032](https://leetcode.cn/problems/dKk3P7) | [ 有效的变位词](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20032.%20%E6%9C%89%E6%95%88%E7%9A%84%E5%8F%98%E4%BD%8D%E8%AF%8D/README.md) | `哈希表`,`字符串`,`排序` | 简单 | | [033](https://leetcode.cn/problems/sfvd7V) | [ 变位词组](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20033.%20%E5%8F%98%E4%BD%8D%E8%AF%8D%E7%BB%84/README.md) | `哈希表`,`字符串`,`排序` | 中等 | | [034](https://leetcode.cn/problems/lwyVBB) | [ 外星语言是否排序](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20034.%20%E5%A4%96%E6%98%9F%E8%AF%AD%E8%A8%80%E6%98%AF%E5%90%A6%E6%8E%92%E5%BA%8F/README.md) | `数组`,`哈希表`,`字符串` | 简单 | | [035](https://leetcode.cn/problems/569nqc) | [ 最小时间差](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20035.%20%E6%9C%80%E5%B0%8F%E6%97%B6%E9%97%B4%E5%B7%AE/README.md) | `数组`,`数学`,`字符串`,`排序` | 中等 | | [036](https://leetcode.cn/problems/8Zf90G) | [ 后缀表达式](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20036.%20%E5%90%8E%E7%BC%80%E8%A1%A8%E8%BE%BE%E5%BC%8F/README.md) | `栈`,`数组`,`数学` | 中等 | | [037](https://leetcode.cn/problems/XagZNi) | [ 小行星碰撞](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20037.%20%E5%B0%8F%E8%A1%8C%E6%98%9F%E7%A2%B0%E6%92%9E/README.md) | `栈`,`数组` | 中等 | | [038](https://leetcode.cn/problems/iIQa4I) | [ 每日温度](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20038.%20%E6%AF%8F%E6%97%A5%E6%B8%A9%E5%BA%A6/README.md) | `栈`,`数组`,`单调栈` | 中等 | | [039](https://leetcode.cn/problems/0ynMMM) | [ 直方图最大矩形面积](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20039.%20%E7%9B%B4%E6%96%B9%E5%9B%BE%E6%9C%80%E5%A4%A7%E7%9F%A9%E5%BD%A2%E9%9D%A2%E7%A7%AF/README.md) | `栈`,`数组`,`单调栈` | 困难 | | [040](https://leetcode.cn/problems/PLYXKQ) | [ 矩阵中最大的矩形](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20040.%20%E7%9F%A9%E9%98%B5%E4%B8%AD%E6%9C%80%E5%A4%A7%E7%9A%84%E7%9F%A9%E5%BD%A2/README.md) | `栈`,`数组`,`动态规划`,`矩阵`,`单调栈` | 困难 | | [041](https://leetcode.cn/problems/qIsx9U) | [ 滑动窗口的平均值](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20041.%20%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3%E7%9A%84%E5%B9%B3%E5%9D%87%E5%80%BC/README.md) | `设计`,`队列`,`数组`,`数据流` | 简单 | | [042](https://leetcode.cn/problems/H8086Q) | [ 最近请求次数](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20042.%20%E6%9C%80%E8%BF%91%E8%AF%B7%E6%B1%82%E6%AC%A1%E6%95%B0/README.md) | `设计`,`队列`,`数据流` | 简单 | | [043](https://leetcode.cn/problems/NaqhDT) | [ 往完全二叉树添加节点](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20043.%20%E5%BE%80%E5%AE%8C%E5%85%A8%E4%BA%8C%E5%8F%89%E6%A0%91%E6%B7%BB%E5%8A%A0%E8%8A%82%E7%82%B9/README.md) | `树`,`广度优先搜索`,`设计`,`二叉树` | 中等 | | [044](https://leetcode.cn/problems/hPov7L) | [ 二叉树每层的最大值](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20044.%20%E4%BA%8C%E5%8F%89%E6%A0%91%E6%AF%8F%E5%B1%82%E7%9A%84%E6%9C%80%E5%A4%A7%E5%80%BC/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`二叉树` | 中等 | | [045](https://leetcode.cn/problems/LwUNpT) | [ 二叉树最底层最左边的值](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20045.%20%E4%BA%8C%E5%8F%89%E6%A0%91%E6%9C%80%E5%BA%95%E5%B1%82%E6%9C%80%E5%B7%A6%E8%BE%B9%E7%9A%84%E5%80%BC/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`二叉树` | 中等 | | [046](https://leetcode.cn/problems/WNC0Lk) | [ 二叉树的右侧视图](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20046.%20%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E5%8F%B3%E4%BE%A7%E8%A7%86%E5%9B%BE/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`二叉树` | 中等 | | [047](https://leetcode.cn/problems/pOCWxh) | [ 二叉树剪枝](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20047.%20%E4%BA%8C%E5%8F%89%E6%A0%91%E5%89%AA%E6%9E%9D/README.md) | `树`,`深度优先搜索`,`二叉树` | 中等 | | [048](https://leetcode.cn/problems/h54YBf) | [ 序列化与反序列化二叉树](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20048.%20%E5%BA%8F%E5%88%97%E5%8C%96%E4%B8%8E%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E4%BA%8C%E5%8F%89%E6%A0%91/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`设计`,`字符串`,`二叉树` | 困难 | | [049](https://leetcode.cn/problems/3Etpl5) | [ 从根节点到叶节点的路径数字之和](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20049.%20%E4%BB%8E%E6%A0%B9%E8%8A%82%E7%82%B9%E5%88%B0%E5%8F%B6%E8%8A%82%E7%82%B9%E7%9A%84%E8%B7%AF%E5%BE%84%E6%95%B0%E5%AD%97%E4%B9%8B%E5%92%8C/README.md) | `树`,`深度优先搜索`,`二叉树` | 中等 | | [050](https://leetcode.cn/problems/6eUYwP) | [ 向下的路径节点之和](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20050.%20%E5%90%91%E4%B8%8B%E7%9A%84%E8%B7%AF%E5%BE%84%E8%8A%82%E7%82%B9%E4%B9%8B%E5%92%8C/README.md) | `树`,`深度优先搜索`,`二叉树` | 中等 | | [051](https://leetcode.cn/problems/jC7MId) | [ 节点之和最大的路径](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20051.%20%E8%8A%82%E7%82%B9%E4%B9%8B%E5%92%8C%E6%9C%80%E5%A4%A7%E7%9A%84%E8%B7%AF%E5%BE%84/README.md) | `树`,`深度优先搜索`,`动态规划`,`二叉树` | 困难 | | [052](https://leetcode.cn/problems/NYBBNL) | [ 展平二叉搜索树](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20052.%20%E5%B1%95%E5%B9%B3%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91/README.md) | `栈`,`树`,`深度优先搜索`,`二叉搜索树`,`二叉树` | 简单 | | [053](https://leetcode.cn/problems/P5rCT8) | [ 二叉搜索树中的中序后继](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20053.%20%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E4%B8%AD%E7%9A%84%E4%B8%AD%E5%BA%8F%E5%90%8E%E7%BB%A7/README.md) | `树`,`深度优先搜索`,`二叉搜索树`,`二叉树` | 中等 | | [054](https://leetcode.cn/problems/w6cpku) | [ 所有大于等于节点的值之和](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20054.%20%E6%89%80%E6%9C%89%E5%A4%A7%E4%BA%8E%E7%AD%89%E4%BA%8E%E8%8A%82%E7%82%B9%E7%9A%84%E5%80%BC%E4%B9%8B%E5%92%8C/README.md) | `树`,`深度优先搜索`,`二叉搜索树`,`二叉树` | 中等 | | [055](https://leetcode.cn/problems/kTOapQ) | [ 二叉搜索树迭代器](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20055.%20%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E8%BF%AD%E4%BB%A3%E5%99%A8/README.md) | `栈`,`树`,`设计`,`二叉搜索树`,`二叉树`,`迭代器` | 中等 | | [056](https://leetcode.cn/problems/opLdQZ) | [ 二叉搜索树中两个节点之和](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20056.%20%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E4%B8%AD%E4%B8%A4%E4%B8%AA%E8%8A%82%E7%82%B9%E4%B9%8B%E5%92%8C/README.md) | `数组`,`滑动窗口` | 简单 | | [057](https://leetcode.cn/problems/7WqeDu) | [ 值和下标之差都在给定的范围内](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20057.%20%E5%80%BC%E5%92%8C%E4%B8%8B%E6%A0%87%E4%B9%8B%E5%B7%AE%E9%83%BD%E5%9C%A8%E7%BB%99%E5%AE%9A%E7%9A%84%E8%8C%83%E5%9B%B4%E5%86%85/README.md) | `数组`,`桶排序`,`有序集合`,`排序`,`滑动窗口` | 中等 | | [058](https://leetcode.cn/problems/fi9suh) | [ 日程表](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20058.%20%E6%97%A5%E7%A8%8B%E8%A1%A8/README.md) | `设计`,`线段树`,`有序集合` | 中等 | | [059](https://leetcode.cn/problems/jBjn9C) | [ 数据流的第 K 大数值](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20059.%20%E6%95%B0%E6%8D%AE%E6%B5%81%E7%9A%84%E7%AC%AC%20K%20%E5%A4%A7%E6%95%B0%E5%80%BC/README.md) | `树`,`设计`,`二叉搜索树`,`二叉树`,`数据流`,`堆(优先队列)` | 简单 | | [060](https://leetcode.cn/problems/g5c51o) | [ 出现频率最高的 k 个数字](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20060.%20%E5%87%BA%E7%8E%B0%E9%A2%91%E7%8E%87%E6%9C%80%E9%AB%98%E7%9A%84%20k%20%E4%B8%AA%E6%95%B0%E5%AD%97/README.md) | `数组`,`哈希表`,`分治`,`桶排序`,`计数`,`快速选择`,`排序`,`堆(优先队列)` | 中等 | | [061](https://leetcode.cn/problems/qn8gGX) | [ 和最小的 k 个数对](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20061.%20%E5%92%8C%E6%9C%80%E5%B0%8F%E7%9A%84%20k%20%E4%B8%AA%E6%95%B0%E5%AF%B9/README.md) | `数组`,`堆(优先队列)` | 中等 | | [062](https://leetcode.cn/problems/QC3q1f) | [ 实现前缀树](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20062.%20%E5%AE%9E%E7%8E%B0%E5%89%8D%E7%BC%80%E6%A0%91/README.md) | `设计`,`字典树`,`哈希表`,`字符串` | 中等 | | [063](https://leetcode.cn/problems/UhWRSj) | [ 替换单词](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20063.%20%E6%9B%BF%E6%8D%A2%E5%8D%95%E8%AF%8D/README.md) | `字典树`,`数组`,`哈希表`,`字符串` | 中等 | | [064](https://leetcode.cn/problems/US1pGT) | [ 神奇的字典](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20064.%20%E7%A5%9E%E5%A5%87%E7%9A%84%E5%AD%97%E5%85%B8/README.md) | `设计`,`字典树`,`哈希表`,`字符串` | 中等 | | [065](https://leetcode.cn/problems/iSwD2y) | [ 最短的单词编码](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20065.%20%E6%9C%80%E7%9F%AD%E7%9A%84%E5%8D%95%E8%AF%8D%E7%BC%96%E7%A0%81/README.md) | `字典树`,`数组`,`哈希表`,`字符串` | 中等 | | [066](https://leetcode.cn/problems/z1R5dt) | [ 单词之和](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20066.%20%E5%8D%95%E8%AF%8D%E4%B9%8B%E5%92%8C/README.md) | `设计`,`字典树`,`哈希表`,`字符串` | 中等 | | [067](https://leetcode.cn/problems/ms70jA) | [ 最大的异或](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20067.%20%E6%9C%80%E5%A4%A7%E7%9A%84%E5%BC%82%E6%88%96/README.md) | `位运算`,`字典树`,`数组`,`哈希表` | 中等 | | [068](https://leetcode.cn/problems/N6YdxV) | [ 查找插入位置](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20068.%20%E6%9F%A5%E6%89%BE%E6%8F%92%E5%85%A5%E4%BD%8D%E7%BD%AE/README.md) | `数组`,`二分查找` | 简单 | | [069](https://leetcode.cn/problems/B1IidL) | [ 山峰数组的顶部](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20069.%20%E5%B1%B1%E5%B3%B0%E6%95%B0%E7%BB%84%E7%9A%84%E9%A1%B6%E9%83%A8/README.md) | `数组`,`二分查找` | 简单 | | [070](https://leetcode.cn/problems/skFtm2) | [ 排序数组中只出现一次的数字](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20070.%20%E6%8E%92%E5%BA%8F%E6%95%B0%E7%BB%84%E4%B8%AD%E5%8F%AA%E5%87%BA%E7%8E%B0%E4%B8%80%E6%AC%A1%E7%9A%84%E6%95%B0%E5%AD%97/README.md) | `数组`,`二分查找` | 中等 | | [071](https://leetcode.cn/problems/cuyjEf) | [ 按权重生成随机数](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20071.%20%E6%8C%89%E6%9D%83%E9%87%8D%E7%94%9F%E6%88%90%E9%9A%8F%E6%9C%BA%E6%95%B0/README.md) | `数学`,`二分查找`,`前缀和`,`随机化` | 中等 | | [072](https://leetcode.cn/problems/jJ0w9p) | [ 求平方根](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20072.%20%E6%B1%82%E5%B9%B3%E6%96%B9%E6%A0%B9/README.md) | `数学`,`二分查找` | 简单 | | [073](https://leetcode.cn/problems/nZZqjQ) | [ 狒狒吃香蕉](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20073.%20%E7%8B%92%E7%8B%92%E5%90%83%E9%A6%99%E8%95%89/README.md) | `数组`,`二分查找` | 中等 | | [074](https://leetcode.cn/problems/SsGoHC) | [ 合并区间](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20074.%20%E5%90%88%E5%B9%B6%E5%8C%BA%E9%97%B4/README.md) | `数组`,`排序` | 中等 | | [075](https://leetcode.cn/problems/0H97ZC) | [ 数组相对排序](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20075.%20%E6%95%B0%E7%BB%84%E7%9B%B8%E5%AF%B9%E6%8E%92%E5%BA%8F/README.md) | `数组`,`哈希表`,`计数排序`,`排序` | 简单 | | [076](https://leetcode.cn/problems/xx4gT2) | [ 数组中的第 k 大的数字](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20076.%20%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E7%AC%AC%20k%20%E5%A4%A7%E7%9A%84%E6%95%B0%E5%AD%97/README.md) | `数组`,`分治`,`快速选择`,`排序`,`堆(优先队列)` | 中等 | | [077](https://leetcode.cn/problems/7WHec2) | [ 链表排序](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20077.%20%E9%93%BE%E8%A1%A8%E6%8E%92%E5%BA%8F/README.md) | `链表`,`双指针`,`分治`,`排序`,`归并排序` | 中等 | | [078](https://leetcode.cn/problems/vvXgSW) | [ 合并排序链表](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20078.%20%E5%90%88%E5%B9%B6%E6%8E%92%E5%BA%8F%E9%93%BE%E8%A1%A8/README.md) | `链表`,`分治`,`堆(优先队列)`,`归并排序` | 困难 | | [079](https://leetcode.cn/problems/TVdhkn) | [ 所有子集](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20079.%20%E6%89%80%E6%9C%89%E5%AD%90%E9%9B%86/README.md) | `位运算`,`数组`,`回溯` | 中等 | | [080](https://leetcode.cn/problems/uUsW3B) | [ 含有 k 个元素的组合](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20080.%20%E5%90%AB%E6%9C%89%20k%20%E4%B8%AA%E5%85%83%E7%B4%A0%E7%9A%84%E7%BB%84%E5%90%88/README.md) | `数组`,`回溯` | 中等 | | [081](https://leetcode.cn/problems/Ygoe9J) | [ 允许重复选择元素的组合](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20081.%20%E5%85%81%E8%AE%B8%E9%87%8D%E5%A4%8D%E9%80%89%E6%8B%A9%E5%85%83%E7%B4%A0%E7%9A%84%E7%BB%84%E5%90%88/README.md) | `数组`,`回溯` | 中等 | | [082](https://leetcode.cn/problems/4sjJUc) | [ 含有重复元素集合的组合](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20082.%20%E5%90%AB%E6%9C%89%E9%87%8D%E5%A4%8D%E5%85%83%E7%B4%A0%E9%9B%86%E5%90%88%E7%9A%84%E7%BB%84%E5%90%88/README.md) | `数组`,`回溯` | 中等 | | [083](https://leetcode.cn/problems/VvJkup) | [ 没有重复元素集合的全排列](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20083.%20%E6%B2%A1%E6%9C%89%E9%87%8D%E5%A4%8D%E5%85%83%E7%B4%A0%E9%9B%86%E5%90%88%E7%9A%84%E5%85%A8%E6%8E%92%E5%88%97/README.md) | `数组`,`回溯` | 中等 | | [084](https://leetcode.cn/problems/7p8L0Z) | [ 含有重复元素集合的全排列](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20084.%20%E5%90%AB%E6%9C%89%E9%87%8D%E5%A4%8D%E5%85%83%E7%B4%A0%E9%9B%86%E5%90%88%E7%9A%84%E5%85%A8%E6%8E%92%E5%88%97/README.md) | `数组`,`回溯` | 中等 | | [085](https://leetcode.cn/problems/IDBivT) | [ 生成匹配的括号](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20085.%20%E7%94%9F%E6%88%90%E5%8C%B9%E9%85%8D%E7%9A%84%E6%8B%AC%E5%8F%B7/README.md) | `字符串`,`动态规划`,`回溯` | 中等 | | [086](https://leetcode.cn/problems/M99OJA) | [ 分割回文子字符串](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20086.%20%E5%88%86%E5%89%B2%E5%9B%9E%E6%96%87%E5%AD%90%E5%AD%97%E7%AC%A6%E4%B8%B2/README.md) | `深度优先搜索`,`广度优先搜索`,`图`,`哈希表` | 中等 | | [087](https://leetcode.cn/problems/0on3uN) | [ 复原 IP](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20087.%20%E5%A4%8D%E5%8E%9F%20IP/README.md) | `字符串`,`回溯` | 中等 | | [088](https://leetcode.cn/problems/GzCJIP) | [ 爬楼梯的最少成本](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20088.%20%E7%88%AC%E6%A5%BC%E6%A2%AF%E7%9A%84%E6%9C%80%E5%B0%91%E6%88%90%E6%9C%AC/README.md) | `数组`,`动态规划` | 简单 | | [089](https://leetcode.cn/problems/Gu0c2T) | [ 房屋偷盗](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20089.%20%E6%88%BF%E5%B1%8B%E5%81%B7%E7%9B%97/README.md) | `数组`,`动态规划` | 中等 | | [090](https://leetcode.cn/problems/PzWKhm) | [ 环形房屋偷盗](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20090.%20%E7%8E%AF%E5%BD%A2%E6%88%BF%E5%B1%8B%E5%81%B7%E7%9B%97/README.md) | `数组`,`动态规划` | 中等 | | [091](https://leetcode.cn/problems/JEj789) | [ 粉刷房子](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20091.%20%E7%B2%89%E5%88%B7%E6%88%BF%E5%AD%90/README.md) | `数组`,`动态规划` | 中等 | | [092](https://leetcode.cn/problems/cyJERH) | [ 翻转字符](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20092.%20%E7%BF%BB%E8%BD%AC%E5%AD%97%E7%AC%A6/README.md) | `字符串`,`动态规划` | 中等 | | [093](https://leetcode.cn/problems/Q91FMA) | [ 最长斐波那契数列](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20093.%20%E6%9C%80%E9%95%BF%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E5%88%97/README.md) | `数组`,`哈希表`,`动态规划` | 中等 | | [094](https://leetcode.cn/problems/omKAoA) | [ 最少回文分割](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20094.%20%E6%9C%80%E5%B0%91%E5%9B%9E%E6%96%87%E5%88%86%E5%89%B2/README.md) | `字符串`,`动态规划` | 困难 | | [095](https://leetcode.cn/problems/qJnOS7) | [ 最长公共子序列](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20095.%20%E6%9C%80%E9%95%BF%E5%85%AC%E5%85%B1%E5%AD%90%E5%BA%8F%E5%88%97/README.md) | `字符串`,`动态规划` | 中等 | | [096](https://leetcode.cn/problems/IY6buf) | [ 字符串交织](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20096.%20%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%BA%A4%E7%BB%87/README.md) | `字符串`,`动态规划` | 中等 | | [097](https://leetcode.cn/problems/21dk04) | [ 子序列的数目](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20097.%20%E5%AD%90%E5%BA%8F%E5%88%97%E7%9A%84%E6%95%B0%E7%9B%AE/README.md) | `字符串`,`动态规划` | 困难 | | [098](https://leetcode.cn/problems/2AoeFn) | [ 路径的数目](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20098.%20%E8%B7%AF%E5%BE%84%E7%9A%84%E6%95%B0%E7%9B%AE/README.md) | `数学`,`动态规划`,`组合数学` | 中等 | | [099](https://leetcode.cn/problems/0i0mDW) | [ 最小路径之和](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20099.%20%E6%9C%80%E5%B0%8F%E8%B7%AF%E5%BE%84%E4%B9%8B%E5%92%8C/README.md) | `数组`,`动态规划`,`矩阵` | 中等 | | [100](https://leetcode.cn/problems/IlPe0q) | [ 三角形中最小路径之和](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20100.%20%E4%B8%89%E8%A7%92%E5%BD%A2%E4%B8%AD%E6%9C%80%E5%B0%8F%E8%B7%AF%E5%BE%84%E4%B9%8B%E5%92%8C/README.md) | `数组`,`动态规划` | 中等 | | [101](https://leetcode.cn/problems/NUPfPr) | [ 分割等和子串](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20101.%20%E5%88%86%E5%89%B2%E7%AD%89%E5%92%8C%E5%AD%90%E4%B8%B2/README.md) | `数学`,`字符串`,`模拟` | 简单 | | [102](https://leetcode.cn/problems/YaVDxD) | [ 加减的目标值](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20102.%20%E5%8A%A0%E5%87%8F%E7%9A%84%E7%9B%AE%E6%A0%87%E5%80%BC/README.md) | `数组`,`动态规划`,`回溯` | 中等 | | [103](https://leetcode.cn/problems/gaM7Ch) | [ 最少的硬币数目](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20103.%20%E6%9C%80%E5%B0%91%E7%9A%84%E7%A1%AC%E5%B8%81%E6%95%B0%E7%9B%AE/README.md) | `广度优先搜索`,`数组`,`动态规划` | 中等 | | [104](https://leetcode.cn/problems/D0F0SV) | [ 排列的数目](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20104.%20%E6%8E%92%E5%88%97%E7%9A%84%E6%95%B0%E7%9B%AE/README.md) | `数组`,`动态规划` | 中等 | | [105](https://leetcode.cn/problems/ZL6zAn) | [ 岛屿的最大面积](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20105.%20%E5%B2%9B%E5%B1%BF%E7%9A%84%E6%9C%80%E5%A4%A7%E9%9D%A2%E7%A7%AF/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`数组`,`矩阵` | 中等 | | [106](https://leetcode.cn/problems/vEAB3K) | [ 二分图](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20106.%20%E4%BA%8C%E5%88%86%E5%9B%BE/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`图` | 中等 | | [107](https://leetcode.cn/problems/2bCMpM) | [ 矩阵中的距离](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20107.%20%E7%9F%A9%E9%98%B5%E4%B8%AD%E7%9A%84%E8%B7%9D%E7%A6%BB/README.md) | `广度优先搜索`,`数组`,`动态规划`,`矩阵` | 中等 | | [108](https://leetcode.cn/problems/om3reC) | [ 单词演变](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20108.%20%E5%8D%95%E8%AF%8D%E6%BC%94%E5%8F%98/README.md) | `广度优先搜索`,`哈希表`,`字符串` | 困难 | | [109](https://leetcode.cn/problems/zlDJc7) | [ 开密码锁](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20109.%20%E5%BC%80%E5%AF%86%E7%A0%81%E9%94%81/README.md) | `广度优先搜索`,`数组`,`哈希表`,`字符串` | 中等 | | [110](https://leetcode.cn/problems/bP4bmD) | [ 所有路径](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20110.%20%E6%89%80%E6%9C%89%E8%B7%AF%E5%BE%84/README.md) | `深度优先搜索`,`广度优先搜索`,`图`,`回溯` | 中等 | | [111](https://leetcode.cn/problems/vlzXQL) | [ 计算除法](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20111.%20%E8%AE%A1%E7%AE%97%E9%99%A4%E6%B3%95/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`图`,`数组`,`最短路` | 中等 | | [112](https://leetcode.cn/problems/fpTFWP) | [ 最长递增路径](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20112.%20%E6%9C%80%E9%95%BF%E9%80%92%E5%A2%9E%E8%B7%AF%E5%BE%84/README.md) | `深度优先搜索`,`广度优先搜索`,`图`,`拓扑排序`,`记忆化搜索`,`动态规划` | 困难 | | [113](https://leetcode.cn/problems/QA2IGt) | [ 课程顺序](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20113.%20%E8%AF%BE%E7%A8%8B%E9%A1%BA%E5%BA%8F/README.md) | `深度优先搜索`,`广度优先搜索`,`图`,`拓扑排序` | 中等 | | [114](https://leetcode.cn/problems/Jf1JuT) | [ 外星文字典](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20114.%20%E5%A4%96%E6%98%9F%E6%96%87%E5%AD%97%E5%85%B8/README.md) | `深度优先搜索`,`广度优先搜索`,`图`,`拓扑排序`,`数组`,`字符串` | 困难 | | [115](https://leetcode.cn/problems/ur2n8P) | [ 重建序列](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20115.%20%E9%87%8D%E5%BB%BA%E5%BA%8F%E5%88%97/README.md) | `图`,`拓扑排序`,`数组` | 中等 | | [116](https://leetcode.cn/problems/bLyHh0) | [ 朋友圈](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20116.%20%E6%9C%8B%E5%8F%8B%E5%9C%88/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`图` | 中等 | | [117](https://leetcode.cn/problems/H6lPxb) | [ 相似的字符串](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20117.%20%E7%9B%B8%E4%BC%BC%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`字符串` | 困难 | | [118](https://leetcode.cn/problems/7LpjUW) | [ 多余的边](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20118.%20%E5%A4%9A%E4%BD%99%E7%9A%84%E8%BE%B9/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`图` | 中等 | | [119](https://leetcode.cn/problems/WhsWhI) | [ 最长连续序列](/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20119.%20%E6%9C%80%E9%95%BF%E8%BF%9E%E7%BB%AD%E5%BA%8F%E5%88%97/README.md) | `并查集`,`数组`,`哈希表` | 中等 | ## 版权 本项目著作权归 [GitHub 开源社区 Doocs](https://github.com/doocs) 所有,商业转载请联系 @yanglbme 获得授权,非商业转载请注明出处。 ## 联系我们 欢迎各位小伙伴们添加 @yanglbme 的个人微信(微信号:YLB0109),备注 「**leetcode**」。后续我们会创建算法、技术相关的交流群,大家一起交流学习,分享经验,共同进步。 | | | ------------------------------------------------------------------------------------------------------------------------------ | ## 许可证 知识共享 版权归属-相同方式共享 4.0 国际 公共许可证