题单
来源:力扣题单
一、定长滑动窗口
§1.1 基础
| 题号 | 题目 | 状态 |
|---|---|---|
| 1456 | 定长子串中元音的最大数目 | ✅ |
| 643 | 子数组最大平均数 I | ✅ |
| 1343 | 大小为 K 且平均值大于等于阈值的子数组数目 | |
| 2090 | 半径为 k 的子数组平均值 | |
| 2379 | 得到 K 个黑块的最少涂色次数 | |
| 2841 | 几乎唯一子数组的最大和 | |
| 2461 | 长度为 K 子数组中的最大和 | |
| 1423 | 可获得的最大点数 | |
| 1176 | 健身计划评估 | |
| 1100 | 长度为 K 的无重复字符子串 | |
| 1852 | 每个子数组的数字种类数 | |
| 1151 | 最少交换次数来组合所有的 1 | |
| 2107 | 分享 K 个糖果后独特口味的数量 |
§1.2 进阶(选做)
| 题号 | 题目 | 状态 |
|---|---|---|
| 1052 | 爱生气的书店老板 | |
| 3679 | 使库存平衡的最少丢弃次数 | |
| 3439 | 重新安排会议得到最多空余时间 I | |
| 3694 | 删除子字符串后不同的终点 | |
| 2134 | 最少交换次数来组合所有的 1 II | |
| 1652 | 拆炸弹 | |
| 1297 | 子串的最大出现次数 | |
| 3652 | 按策略买卖股票的最佳时机 | |
| 567 | 字符串的排列 | |
| 438 | 找到字符串中所有字母异位词 | |
| 30 | 串联所有单词的子串 | |
| 1888 | 使二进制字符串字符交替的最少反转次数 | |
| 2156 | 查找给定哈希值的子串 | |
| 2953 | 统计完全子字符串 | |
| 3672 | 子数组中加权众数的总和 | |
| 2067 | 等计数子串的数量 | |
| 2524 | 子数组的最大频率分数 |
思维扩展
| 题号 | 题目 | 状态 |
|---|---|---|
| 2200 | 找出数组中的所有 K 近邻下标 | |
| 1461 | 检查一个字符串是否包含所有长度为 K 的二进制子串 | |
| 1016 | 子串能表示从 1 到 N 数字的二进制串 | |
| 2653 | 滑动子数组的美丽值 |
二、不定长滑动窗口
§2.1.1 基础
| 题号 | 题目 | 状态 |
|---|---|---|
| 3 | 无重复字符的最长子串 | |
| 3090 | 每个字符最多出现两次的最长子字符串 | |
| 1493 | 删掉一个元素以后全为 1 的最长子数组 | |
| 3634 | 使数组平衡的最少移除数目 | |
| 1208 | 尽可能使字符串相等 | |
| 904 | 水果成篮 | |
| 1695 | 删除子数组的最大得分 | |
| 2958 | 最多 K 个重复元素的最长子数组 | |
| 2024 | 考试的最大困扰度 | |
| 1004 | 最大连续 1 的个数 III | |
| 3641 | 最长半重复子数组 |
§2.1.2 进阶(选做)
| 题号 | 题目 | 状态 |
|---|---|---|
| 2730 | 找到最长的半重复子字符串 | |
| 2779 | 数组的最大美丽值 | |
| 1658 | 将 x 减到 0 的最小操作数 | |
| 1838 | 最高频元素的频数 | |
| 2516 | 每种字符至少取 K 个 | |
| 2831 | 找出最长等值子数组 | |
| 2271 | 毯子覆盖的最多白色砖块数 | |
| 2106 | 摘水果 | |
| 2555 | 两个线段获得的最多奖品 | |
| 2009 | 使数组连续的最少操作数 | |
| 1610 | 可见点的最大数目 | |
| 2781 | 最长合法子字符串的长度 | |
| 3411 | 最长乘积等价子数组 | |
| 3413 | 收集连续 K 个袋子可以获得的最多硬币数量 | |
| 395 | 至少有 K 个重复字符的最长子串 | |
| 1763 | 最长的美好子字符串 | |
| 2968 | 执行操作使频率分数最大 | |
| 1040 | 移动石子直到连续 II | |
| 487 | 最大连续 1 的个数 II | |
| 159 | 至多包含两个不同字符的最长子串 | |
| 340 | 至多包含 K 个不同字符的最长子串 |
§2.2 越长越合法 / 求最短
| 题号 | 题目 | 状态 |
|---|---|---|
| 209 | 长度最小的子数组 | |
| 3795 | 不同元素和至少为 K 的最短子数组长度 | |
| 2904 | 最短且字典序最小的美丽子字符串 | |
| 1234 | 替换子串得到平衡字符串 | |
| 2875 | 无限数组的最短子数组 | |
| 76 | 最小覆盖子串 | |
| 632 | 最小区间 |
§2.3.1 越短越合法
| 题号 | 题目 | 状态 |
|---|---|---|
| 713 | 乘积小于 K 的子数组 | |
| 3258 | 统计满足 K 约束的子字符串数量 I | |
| 2302 | 统计得分小于 K 的子数组数目 | |
| 2762 | 不间断子数组 | |
| LCP 68 | 美观的花束 | |
| 2743 | 计算没有重复字符的子字符串数量 | |
| 3134 | 找出唯一性数组的中位数(思维扩展) | |
| 3261 | 统计满足 K 约束的子字符串数量 II(思维扩展) |
§2.3.2 越长越合法
| 题号 | 题目 | 状态 |
|---|---|---|
| 1358 | 包含所有三种字符的子字符串数目 | |
| 2962 | 统计最大元素出现至少 K 次的子数组 | |
| 3325 | 字符至少出现 K 次的子字符串 I | |
| 2062 | 统计字符串中的元音子字符串 | |
| 2799 | 统计完全子数组的数目 | |
| 2537 | 统计好子数组的数目 | |
| 3298 | 统计重新排列后包含另一个字符串的子字符串数目 II | |
| 2495 | 乘积为偶数的子数组数 |
§2.3.3 恰好型滑动窗口
| 题号 | 题目 | 状态 |
|---|---|---|
| 930 | 和相同的二元子数组 | |
| 1248 | 统计「优美子数组」 | |
| 3306 | 元音辅音字符串计数 II | |
| 992 | K 个不同整数的子数组 | |
| 3859 | 统计包含 K 个不同整数的子数组 |
§2.4 其他(选做)
| 题号 | 题目 | 状态 |
|---|---|---|
| 825 | 适龄的朋友 | |
| 2401 | 最长优雅子数组 | |
| 1156 | 单字符重复子串的最大长度 | |
| 424 | 替换后的最长重复字符 | |
| 438 | 找到字符串中所有字母异位词 | |
| 1712 | 将数组分成三个子数组的方案数 | |
| LCR 180 | 文件组合 | |
| 1918 | 第 K 小的子数组和 |
三、单序列双指针
§3.1 反转字符串
| 题号 | 题目 | 状态 |
|---|---|---|
| 344 | 反转字符串 | |
| 3794 | 反转字符串前缀 | |
| 2000 | 反转单词前缀 | |
| 3643 | 垂直翻转子矩阵 | |
| 832 | 翻转图像 | |
| 3823 | 反转一个字符串里的字母后反转特殊字符 | |
| 541 | 反转字符串 II | |
| 557 | 反转字符串中的单词 III | |
| 151 | 反转字符串中的单词 | |
| 3775 | 反转元音数相同的单词 | |
| 917 | 仅仅反转字母 | |
| 345 | 反转字符串中的元音字母 | |
| 3865 | 反转 K 个子数组 | |
| 186 | 反转字符串中的单词 II |
§3.2 相向双指针
| 题号 | 题目 | 状态 |
|---|---|---|
| 2697 | 字典序最小回文串 | |
| 125 | 验证回文串 | |
| 1750 | 删除字符串两端相同字符后的最短长度 | |
| 2105 | 给植物浇水 II | |
| 977 | 有序数组的平方 | |
| 658 | 找到 K 个最接近的元素 | |
| 1471 | 数组中的 K 个最强值 | |
| 167 | 两数之和 II - 输入有序数组 | |
| 633 | 平方数之和 | |
| 2824 | 统计和小于目标的下标对数目 | |
| LCP 28 | 采购方案 | |
| 16 | 最接近的三数之和 | |
| 15 | 三数之和 | |
| 18 | 四数之和 | |
| 1577 | 数的平方等于两数乘积的方法数 | |
| 3862 | 找出最小平衡下标 | |
| 611 | 有效三角形的个数 | |
| 923 | 三数之和的多种可能 | |
| 2563 | 统计公平数对的数目 | |
| 948 | 令牌放置 | |
| 11 | 盛最多水的容器 | |
| 42 | 接雨水 | |
| 1616 | 分割两个字符串得到回文串 | |
| 1498 | 满足条件的子序列数目 | |
| 1782 | 统计点对的数目 | |
| 1099 | 小于 K 的两数之和 | |
| 360 | 有序转化数组 | |
| 2422 | 使用合并操作将数组转换为回文序列 | |
| 259 | 较小的三数之和 | |
| 3802 | 给纸张涂色的方式数量 | |
| 1861 | 旋转盒子(思维扩展) | |
| 3814 | 预算下的最大总容量(思维扩展) |
§3.3 同向双指针
| 题号 | 题目 | 状态 |
|---|---|---|
| 2200 | 找出数组中的所有 K 近邻下标 | |
| 611 | 有效三角形的个数 | |
| 3649 | 完美对的数目 | |
| 1871 | 跳跃游戏 VII | |
| 1574 | 删除最短的子数组使剩余数组有序 | |
| 2972 | 统计移除递增子数组的数目 II | |
| 2122 | 还原原数组 | |
| 2234 | 花园的最大总美丽值 | |
| 1989 | 捉迷藏中可捕获的最大人数 | |
| 3323 | 通过插入区间最小化连通组 | |
| 581 | 最短无序连续子数组(相似题目) | |
| 3555 | 排序每个滑动窗口中最小的子数组(相似题目) |
§3.4 背向双指针
| 题号 | 题目 | 状态 |
|---|---|---|
| 1793 | 好子数组的最大分数 | |
| 976 | 三角形的最大周长 |
§3.5 原地修改
| 题号 | 题目 | 状态 |
|---|---|---|
| 27 | 移除元素 | |
| 26 | 删除有序数组中的重复项 | |
| 80 | 删除有序数组中的重复项 II | |
| 2273 | 移除字母异位词后的结果数组 | |
| 3684 | 至多 K 个不同元素的最大和 | |
| 283 | 移动零 | |
| 905 | 按奇偶排序数组 | |
| 922 | 按奇偶排序数组 II | |
| 3467 | 将数组按照奇偶性转化 | |
| 2460 | 对数组执行操作 | |
| 1089 | 复写零 | |
| 75 | 颜色分类 | |
| 2784 | 检查数组是否是好的(思维扩展) | |
| 442 | 数组中重复的数据(思维扩展) | |
| 448 | 找到所有数组中消失的数字(思维扩展) | |
| 1920 | 基于排列构建数组(思维扩展) | |
| 41 | 缺失的第一个正数(思维扩展) |
§3.6 矩阵上的双指针
| 题号 | 题目 | 状态 |
|---|---|---|
| 240 | 搜索二维矩阵 II | |
| 1351 | 统计有序矩阵中的负数 |
四、双序列双指针
§4.1 双指针
| 题号 | 题目 | 状态 |
|---|---|---|
| 2109 | 向字符串添加空格 | |
| 2540 | 最小公共值 | |
| 350 | 两个数组的交集 II | |
| 88 | 合并两个有序数组 | |
| 2570 | 合并两个二维数组 - 求和法 | |
| LCP 18 | 早餐组合 | |
| 1855 | 下标对中的最大距离 | |
| 1385 | 两个数组间的距离值 | |
| 925 | 长按键入 | |
| 809 | 情感丰富的文字 | |
| 2337 | 移动片段得到字符串 | |
| 777 | 在 LR 字符串中交换相邻字符 | |
| 844 | 比较含退格的字符串 | |
| 986 | 区间列表的交集 | |
| 面试题 16.06 | 最小差 | |
| 475 | 供暖器 | |
| 1537 | 最大得分 | |
| 244 | 最短单词距离 II | |
| 2838 | 英雄可以获得的最大金币数 | |
| 1229 | 安排会议日程 | |
| 1570 | 两个稀疏向量的点积 | |
| 1868 | 两个行程编码数组的积 |
§4.2 判断子序列
| 题号 | 题目 | 状态 |
|---|---|---|
| 392 | 判断子序列 | |
| 524 | 通过删除字母匹配到字典里最长单词 | |
| 2486 | 追加字符以获得子序列 | |
| 2825 | 循环增长使字符串子序列等于另一个字符串 | |
| 1023 | 驼峰式匹配 | |
| 3132 | 找出与数组相加的整数 II | |
| 522 | 最长特殊序列 II | |
| 1826 | 有缺陷的传感器 | |
| 1898 | 可移除字符的最大数目(进阶) | |
| 2565 | 最少得分子序列(进阶) | |
| 3302 | 字典序最小的合法序列(进阶) |
五、三指针
| 题号 | 题目 | 状态 |
|---|---|---|
| 2367 | 等差三元组的数目 | |
| 2563 | 统计公平数对的数目 | |
| 795 | 区间子数组个数 | |
| 2444 | 统计定界子数组的数目 | |
| 3347 | 执行操作后元素的最高频率 II | |
| 1213 | 三个有序数组的交集 | |
| 3464 | 正方形上的点之间的最大距离(思维扩展) |
六、分组循环
| 题号 | 题目 | 状态 |
|---|---|---|
| 485 | 最大连续 1 的个数 | |
| 1446 | 连续字符 | |
| 1869 | 哪种连续子字符串更长 | |
| 2414 | 最长的字母序连续子字符串的长度 | |
| 3456 | 找出长度为 K 的特殊子字符串 | |
| 830 | 较大分组的位置 | |
| 2273 | 移除字母异位词后的结果数组 | |
| 2264 | 字符串中最大的 3 位相同数字 | |
| 2348 | 全 0 子数组的数目 | |
| 1513 | 仅含 1 的子串数 | |
| 1957 | 删除字符使字符串变好 | |
| 674 | 最长连续递增序列 | |
| 3708 | 最长斐波那契子数组 | |
| 696 | 计数二进制子串 | |
| 978 | 最长湍流子数组 | |
| 2110 | 股票平滑下跌阶段的数目 | |
| 228 | 汇总区间 | |
| 2760 | 最长奇偶子数组 | |
| 1887 | 使数组元素相等的减少操作次数 | |
| 845 | 数组中的最长山脉 | |
| 2038 | 如果相邻两个颜色均相同则删除当前颜色 | |
| 2900 | 最长相邻不相等子序列 I | |
| 1759 | 统计同质子字符串的数目 | |
| 3011 | 判断一个数组是否可以变为有序 | |
| 1861 | 旋转盒子 | |
| 1578 | 使绳子变成彩色的最短时间 | |
| 1839 | 所有元音按顺序排布的最长子字符串 | |
| 2765 | 最长交替子数组 | |
| 3255 | 长度为 K 的子数组的能量值 II | |
| 3350 | 检测相邻递增子数组 II | |
| 3105 | 最长的严格递增或递减子数组 | |
| 3926 | 有效单词计数 | |
| 838 | 推多米诺 | |
| 467 | 环绕字符串中唯一的子字符串 | |
| 3499 | 操作后最大活跃区段数 I | |
| 413 | 等差数列划分 | |
| 3738 | 替换至多一个元素后最长非递减子数组 | |
| 2147 | 分隔长廊的方案数 | |
| 2593 | 标记所有元素后数组的分数 | |
| 68 | 文本左右对齐 | |
| 135 | 分发糖果 | |
| 3872 | 替换最多一个元素后的最长等差子数组 | |
| 2948 | 交换得到字典序最小的数组 | |
| 3830 | 移除至多一个元素后的最长交替子数组 | |
| 3640 | 三段式数组 II | |
| 2393 | 严格递增的子数组个数 | |
| 3773 | 最大等长连续字符组 | |
| 2436 | 使子数组最大公约数大于一的最小分割数 | |
| 2495 | 乘积为偶数的子数组数 | |
| 3063 | 链表频率 |