数组操作题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0189 | 轮转数组open in new window | 数组、数学、双指针 | 中等 | |
0066 | 加一open in new window | 数组、数学 | 简单 | |
0724 | 寻找数组的中心下标open in new window | 数组、前缀和 | 简单 | |
0485 | 最大连续 1 的个数open in new window | 数组 | 简单 | |
0238 | 除自身以外数组的乘积open in new window | 数组、前缀和 | 中等 |
二维数组题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0498 | 对角线遍历open in new window | 数组、矩阵、模拟 | 中等 | |
0048 | 旋转图像open in new window | 数组、数学、矩阵 | 中等 | |
0073 | 矩阵置零open in new window | 数组、哈希表、矩阵 | 中等 | |
0054 | 螺旋矩阵open in new window | 数组、矩阵、模拟 | 中等 | |
0059 | 螺旋矩阵 IIopen in new window | 数组、矩阵、模拟 | 中等 | |
0289 | 生命游戏open in new window | 数组、矩阵、模拟 | 中等 |
排序算法
冒泡排序题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
剑指 Offer 45 | 把数组排成最小的数open in new window | 贪心、字符串、排序 | 中等 | |
0283 | 移动零open in new window | 数组、双指针 | 简单 |
选择排序题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0215 | 数组中的第K个最大元素open in new window | 数组、分治、快速选择、排序、堆(优先队列) | 中等 |
插入排序题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0075 | 颜色分类open in new window | 数组、双指针、排序 | 中等 |
希尔排序题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0912 | 排序数组open in new window | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 | 中等 | |
0506 | 相对名次open in new window | 数组、排序、堆(优先队列) | 简单 |
归并排序题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0912 | 排序数组open in new window | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 | 中等 | |
0088 | 合并两个有序数组open in new window | 数组、双指针、排序 | 简单 | |
剑指 Offer 51 | 数组中的逆序对open in new window | 树状数组、线段树、数组、二分查找、分治、有序集合、归并排序 | 困难 | |
0315 | 计算右侧小于当前元素的个数open in new window | 树状数组、线段树、数组、二分查找、分治、有序集合、归并排序 | 困难 |
快速排序题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0912 | 排序数组open in new window | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 | 中等 | |
0169 | 多数元素open in new window | 数组、哈希表、分治、计数、排序 | 简单 |
堆排序题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0912 | 排序数组open in new window | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 | 中等 | |
0215 | 数组中的第K个最大元素open in new window | 数组、分治、快速选择、排序、堆(优先队列) | 中等 | |
剑指 Offer 40 | 最小的k个数open in new window | 数组、分治、快速选择、排序、堆(优先队列) | 简单 |
计数排序题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0912 | 排序数组open in new window | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 | 中等 | |
1122 | 数组的相对排序open in new window | 数组、哈希表、计数排序、排序 | 简单 |
桶排序题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0912 | 排序数组open in new window | 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 | 中等 | |
0220 | 存在重复元素 IIIopen in new window | 数组、桶排序、有序集合、排序、滑动窗口 | 困难 | |
0164 | 最大间距open in new window | 数组、桶排序、基数排序、排序 | 困难 |
基数排序题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0164 | 最大间距open in new window | 数组、桶排序、基数排序、排序 | 困难 | |
0561 | [数组拆分open in new window | 贪心、数组、计数排序、排序 | 简单 |
其他排序题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0217 | 存在重复元素open in new window | 数组、哈希表、排序 | 简单 | |
0136 | 只出现一次的数字open in new window | 位运算、数组 | 简单 | |
0056 | 合并区间open in new window | 数组、排序 | 中等 | |
0179 | 最大数open in new window | 贪心、数组、字符串、排序 | 中等 | |
0384 | 打乱数组open in new window | 数组、数学、随机化 | 中等 | |
剑指 Offer 45 | 把数组排成最小的数open in new window | 贪心、字符串、排序 | 中等 |
二分下标题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0704 | 二分查找open in new window | 数组、二分查找 | 简单 | |
0374 | 猜数字大小open in new window | 二分查找、交互 | 简单 | |
0035 | 搜索插入位置open in new window | 数组、二分查找 | 简单 | |
0034 | 在排序数组中查找元素的第一个和最后一个位置open in new window | 数组、二分查找 | 中等 | |
0167 | 两数之和 II - 输入有序数组open in new window | 数组、双指针、二分查找 | 中等 | |
0153 | 寻找旋转排序数组中的最小值open in new window | 数组、二分查找 | 中等 | |
0154 | 寻找旋转排序数组中的最小值 IIopen in new window | 数组、二分查找 | 困难 | |
0033 | 搜索旋转排序数组open in new window | 数组、二分查找 | 中等 | |
0081 | 搜索旋转排序数组 IIopen in new window | 数组、二分查找 | 中等 | |
0278 | 第一个错误的版本open in new window | 二分查找、交互 | 简单 | |
0162 | 寻找峰值open in new window | 数组、二分查找 | 中等 | |
0852 | 山脉数组的峰顶索引open in new window | 数组、二分查找 | 中等 | |
1095 | 山脉数组中查找目标值open in new window | 数组、二分查找、交互 | 困难 | |
0744 | 寻找比目标字母大的最小字母open in new window | 数组、二分查找 | 简单 | |
0004 | 寻找两个正序数组的中位数open in new window | 数组、二分查找、分治 | 困难 | |
0074 | 搜索二维矩阵open in new window | 数组、二分查找、矩阵 | 中等 | |
0240 | 搜索二维矩阵 IIopen in new window | 数组、二分查找、分治、矩阵 | 中等 |
二分答案题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0069 | x 的平方根open in new window | 数学、二分查找 | 简单 | |
0287 | 寻找重复数open in new window | 位运算、数组、双指针、二分查找 | 中等 | |
0050 | Pow(x, n)open in new window | 递归、数学 | 中等 | |
0367 | 有效的完全平方数open in new window | 数学、二分查找 | 简单 | |
1300 | 转变数组后最接近目标值的数组和open in new window | 数组、二分查找、排序 | 中等 | |
0400 | 第 N 位数字open in new window | 数学、二分查找 | 中等 |
复杂的二分查找问题
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0875 | 爱吃香蕉的珂珂open in new window | 数组、二分查找 | 中等 | |
0410 | 分割数组的最大值open in new window | 贪心、数组、二分查找、动态规划、前缀和 | 困难 | |
0209 | 长度最小的子数组open in new window | 数组、二分查找、前缀和、滑动窗口 | 中等 | |
0658 | 找到 K 个最接近的元素open in new window | 数组、双指针、二分查找、排序、滑动窗口、堆(优先队列) | 中等 | |
0270 | 最接近的二叉搜索树值open in new window | 树、深度优先搜索、二叉搜索树、二分查找、二叉树 | 简单 | |
0702 | 搜索长度未知的有序数组open in new window | 数组、二分查找、交互 | 中等 | |
0349 | 两个数组的交集open in new window | 数组、哈希表、双指针、二分查找、排序 | 简单 | |
0350 | 两个数组的交集 IIopen in new window | 数组、哈希表、双指针、二分查找、排序 | 简单 | |
0287 | 寻找重复数open in new window | 位运算、数组、双指针、二分查找 | 中等 | |
0719 | 找出第 K 小的数对距离open in new window | 数组、双指针、二分查找、排序 | 困难 | |
0259 | 较小的三数之和open in new window | 数组、双指针、二分查找、排序 | 中等 | |
1011 | 在 D 天内送达包裹的能力open in new window | 数组、二分查找 | 中等 | |
1482 | 制作 m 束花所需的最少天数open in new window | 数组、二分查找 | 中等 |
对撞指针题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0167 | 两数之和 II - 输入有序数组open in new window | 数组、双指针、二分查找 | 中等 | |
0344 | 反转字符串open in new window | 双指针、字符串 | 简单 | |
0345 | 反转字符串中的元音字母open in new window | 双指针、字符串 | 简单 | |
0125 | 验证回文串open in new window | 双指针、字符串 | 简单 | |
0011 | 盛最多水的容器open in new window | 贪心、数组、双指针 | 中等 | |
0611 | 有效三角形的个数open in new window | 贪心、数组、双指针、二分查找、排序 | 中等 | |
0015 | 三数之和open in new window | 数组、双指针、排序 | 中等 | |
0016 | 最接近的三数之和open in new window | 数组、双指针、排序 | 中等 | |
0018 | 四数之和open in new window | 数组、双指针、排序 | 中等 | |
0259 | 较小的三数之和open in new window | 数组、双指针、二分查找、排序 | 中等 | |
0658 | 找到 K 个最接近的元素open in new window | 数组、双指针、二分查找、排序、滑动窗口、堆(优先队列) | 中等 | |
1099 | 小于 K 的两数之和open in new window | 数组、双指针、二分查找、排序 | 简单 | |
0075 | 颜色分类open in new window | 数组、双指针、排序 | 中等 | |
0360 | 有序转化数组open in new window | 数组、数学、双指针、排序 | 中等 | |
0977 | 有序数组的平方open in new window | 数组、双指针、排序 | 简单 | |
0881 | 救生艇open in new window | 贪心、数组、双指针、排序 | 中等 | |
0042 | 接雨水open in new window | 栈、数组、双指针、动态规划、单调栈 | 困难 | |
0443 | 压缩字符串open in new window | 双指针、字符串 | 中等 |
快慢指针题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0026 | 删除有序数组中的重复项open in new window | 数组、双指针 | 简单 | |
0080 | 删除有序数组中的重复项 IIopen in new window | 数组、双指针 | 中等 | |
0027 | 移除元素open in new window | 数组、双指针 | 简单 | |
0283 | 移动零open in new window | 数组、双指针 | 简单 | |
0845 | 数组中的最长山脉open in new window | 数组、双指针、动态规划、枚举 | 中等 | |
0088 | 合并两个有序数组open in new window | 数组、双指针、排序 | 简单 | |
0719 | 找出第 K 小的数对距离open in new window | 数组、双指针、二分查找、排序 | 困难 | |
0334 | 递增的三元子序列open in new window | 贪心、数组 | 中等 | |
0978 | 最长湍流子数组open in new window | 数组、动态规划、滑动窗口 | 中等 | |
剑指 Offer 21 | 调整数组顺序使奇数位于偶数前面open in new window | 数组、双指针、排序 | 简单 |
分离双指针题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0350 | 两个数组的交集 IIopen in new window | 数组、哈希表、双指针、二分查找、排序 | 简单 | |
0925 | 长按键入open in new window | 双指针、字符串 | 简单 | |
0844 | 比较含退格的字符串open in new window | 栈、双指针、字符串、模拟 | 简单 | |
1229 | 安排会议日程open in new window | 数组、双指针、排序 | 中等 | |
0415 | 字符串相加open in new window | 数学、字符串、模拟 | 简单 | |
0392 | 判断子序列open in new window | 双指针、字符串、动态规划 | 简单 |
固定长度窗口题目
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
1343 | 大小为 K 且平均值大于等于阈值的子数组数目open in new window | 数组、滑动窗口 | 中等 | |
0643 | 子数组最大平均数 Iopen in new window | 数组、滑动窗口 | 简单 | |
1052 | 爱生气的书店老板open in new window | 数组、滑动窗口 | 中等 | |
1423 | 可获得的最大点数open in new window | 数组、前缀和、滑动窗口 | 中等 | |
1456 | 定长子串中元音的最大数目open in new window | 字符串、滑动窗口 | 中等 | |
0567 | 字符串的排列open in new window | 哈希表、双指针、字符串、滑动窗口 | 中等 | |
1100 | 长度为 K 的无重复字符子串open in new window | 哈希表、字符串、滑动窗口 | 中等 | |
1151 | 最少交换次数来组合所有的 1open in new window | 数组、滑动窗口 | 中等 | |
1176 | 健身计划评估open in new window | 数组、滑动窗口 | 简单 | |
0438 | 找到字符串中所有字母异位词open in new window | 哈希表、字符串、滑动窗口 | 中等 | |
0995 | K 连续位的最小翻转次数open in new window | 位运算、队列、数组、前缀和、滑动窗口 | 困难 | |
0683 | K 个关闭的灯泡open in new window | 树状数组、数组、有序集合、滑动窗口 | 困难 | |
0220 | 存在重复元素 IIIopen in new window | 数组、桶排序、有序集合、排序、滑动窗口 | 困难 | |
0239 | 滑动窗口最大值open in new window | 队列、数组、滑动窗口、单调队列、堆(优先队列) | 困难 | |
0480 | 滑动窗口中位数open in new window | 数组、哈希表、滑动窗口、堆(优先队列) | 困难 |