Skip to content

Latest commit

 

History

History
171 lines (162 loc) · 40.3 KB

sliding-window.md

File metadata and controls

171 lines (162 loc) · 40.3 KB

滑动窗口

全部标签

数据结构

数组 矩阵 链表 双向链表 单调栈 队列 单调队列 堆(优先队列) 哈希表 字符串 字符串匹配 二叉树 二叉搜索树 最小生成树 有序集合 拓扑排序 最短路 强连通分量 欧拉回路 双连通分量 并查集 字典树 线段树 树状数组 后缀数组

算法

枚举 递归 分治 回溯 贪心 动态规划 排序 桶排序 计数排序 基数排序 归并排序 快速选择 二分查找 记忆化搜索 深度优先搜索 广度优先搜索 双指针 位运算 前缀和 计数 滑动窗口 状态压缩 哈希函数 滚动哈希 扫描线

其他

数学 数论 几何 博弈 模拟 组合数学 随机化 概率与统计 水塘抽样 拒绝采样 数据库 设计 数据流 脑筋急转弯 交互 迭代器 多线程


题号 标题 题解 标签 难度
3 无重复字符的最长子串 [✓] 哈希表 字符串 滑动窗口 Medium
30 串联所有单词的子串 [✓] 哈希表 字符串 滑动窗口 Hard
76 最小覆盖子串 [✓] 哈希表 字符串 滑动窗口 Hard
159 至多包含两个不同字符的最长子串 🔒 哈希表 字符串 滑动窗口 Medium
187 重复的DNA序列 位运算 哈希表 字符串 3+ Medium
209 长度最小的子数组 [✓] 数组 二分查找 前缀和 1+ Medium
219 存在重复元素 II [✓] 数组 哈希表 滑动窗口 Easy
220 存在重复元素 III 数组 桶排序 有序集合 2+ Hard
239 滑动窗口最大值 [✓] 队列 数组 滑动窗口 2+ Hard
340 至多包含 K 个不同字符的最长子串 🔒 哈希表 字符串 滑动窗口 Medium
395 至少有 K 个重复字符的最长子串 哈希表 字符串 分治 1+ Medium
413 等差数列划分 数组 动态规划 滑动窗口 Medium
424 替换后的最长重复字符 哈希表 字符串 滑动窗口 Medium
438 找到字符串中所有字母异位词 [✓] 哈希表 字符串 滑动窗口 Medium
480 滑动窗口中位数 数组 哈希表 滑动窗口 1+ Hard
487 最大连续1的个数 II 🔒 数组 动态规划 滑动窗口 Medium
567 字符串的排列 [✓] 哈希表 双指针 字符串 1+ Medium
594 最长和谐子序列 数组 哈希表 计数 2+ Easy
632 最小区间 [✓] 贪心 数组 哈希表 3+ Hard
643 子数组最大平均数 I [✓] 数组 滑动窗口 Easy
658 找到 K 个最接近的元素 数组 双指针 二分查找 3+ Medium
683 K 个关闭的灯泡 🔒 树状数组 线段树 队列 5+ Hard
713 乘积小于 K 的子数组 数组 二分查找 前缀和 1+ Medium
718 最长重复子数组 数组 二分查找 动态规划 3+ Medium
727 最小窗口子序列 🔒 字符串 动态规划 滑动窗口 Hard
837 新 21 点 数学 动态规划 滑动窗口 1+ Medium
862 和至少为 K 的最短子数组 队列 数组 二分查找 4+ Hard
904 水果成篮 数组 哈希表 滑动窗口 Medium
930 和相同的二元子数组 数组 哈希表 前缀和 1+ Medium
978 最长湍流子数组 数组 动态规划 滑动窗口 Medium
992 K 个不同整数的子数组 数组 哈希表 计数 1+ Hard
995 K 连续位的最小翻转次数 位运算 队列 数组 2+ Hard
1004 最大连续1的个数 III [✓] 数组 二分查找 前缀和 1+ Medium
1031 两个非重叠子数组的最大和 数组 动态规划 滑动窗口 Medium
1044 最长重复子串 字符串 二分查找 后缀数组 3+ Hard
1052 爱生气的书店老板 数组 滑动窗口 Medium
1100 长度为 K 的无重复字符子串 🔒 哈希表 字符串 滑动窗口 Medium
1151 最少交换次数来组合所有的 1 🔒 数组 滑动窗口 Medium
1156 单字符重复子串的最大长度 哈希表 字符串 滑动窗口 Medium
1176 健身计划评估 🔒 数组 滑动窗口 Easy
1208 尽可能使字符串相等 字符串 二分查找 前缀和 1+ Medium
1234 替换子串得到平衡字符串 字符串 滑动窗口 Medium
1248 统计「优美子数组」 数组 哈希表 数学 2+ Medium
1297 子串的最大出现次数 哈希表 字符串 滑动窗口 Medium
1343 大小为 K 且平均值大于等于阈值的子数组数目 数组 滑动窗口 Medium
1358 包含所有三种字符的子字符串数目 哈希表 字符串 滑动窗口 Medium
1423 可获得的最大点数 数组 前缀和 滑动窗口 Medium
1425 带限制的子序列和 队列 数组 动态规划 3+ Hard
1438 绝对差不超过限制的最长连续子数组 队列 数组 有序集合 3+ Medium
1456 定长子串中元音的最大数目 [✓] 字符串 滑动窗口 Medium
1477 找两个和为目标值且不重叠的子数组 数组 哈希表 二分查找 2+ Medium
1493 删掉一个元素以后全为 1 的最长子数组 数组 动态规划 滑动窗口 Medium
1499 满足不等式的最大值 队列 数组 滑动窗口 2+ Hard
1610 可见点的最大数目 几何 数组 数学 2+ Hard
1652 拆炸弹 数组 滑动窗口 Easy
1658 将 x 减到 0 的最小操作数 数组 哈希表 二分查找 2+ Medium
1695 删除子数组的最大得分 数组 哈希表 滑动窗口 Medium
1703 得到连续 K 个 1 的最少相邻交换次数 贪心 数组 前缀和 1+ Hard
1763 最长的美好子字符串 位运算 哈希表 字符串 2+ Easy
1838 最高频元素的频数 贪心 数组 二分查找 3+ Medium
1839 所有元音按顺序排布的最长子字符串 字符串 滑动窗口 Medium
1852 每个子数组的数字种类数 🔒 数组 哈希表 滑动窗口 Medium
1871 跳跃游戏 VII 字符串 动态规划 前缀和 1+ Medium
1876 长度为三且各字符不同的子字符串 哈希表 字符串 计数 1+ Easy
1888 使二进制字符串字符交替的最少反转次数 贪心 字符串 动态规划 1+ Medium
1918 第 K 小的子数组和 🔒 数组 二分查找 滑动窗口 Medium
1984 学生分数的最小差值 数组 排序 滑动窗口 Easy
2009 使数组连续的最少操作数 数组 哈希表 二分查找 1+ Hard
2024 考试的最大困扰度 字符串 二分查找 前缀和 1+ Medium
2090 半径为 k 的子数组平均值 数组 滑动窗口 Medium
2106 摘水果 数组 二分查找 前缀和 1+ Hard
2107 分享 K 个糖果后独特口味的数量 🔒 数组 哈希表 滑动窗口 Medium
2134 最少交换次数来组合所有的 1 II 数组 滑动窗口 Medium
2156 查找给定哈希值的子串 字符串 滑动窗口 哈希函数 1+ Hard
2260 必须拿起的最小连续卡牌数 [✓] 数组 哈希表 滑动窗口 Medium
2269 找到一个数字的 K 美丽值 数学 字符串 滑动窗口 Easy
2302 统计得分小于 K 的子数组数目 数组 二分查找 前缀和 1+ Hard
2379 得到 K 个黑块的最少涂色次数 字符串 滑动窗口 Easy
2398 预算内的最多机器人数目 队列 数组 二分查找 4+ Hard
2401 最长优雅子数组 位运算 数组 滑动窗口 Medium
2411 按位或最大的最小子数组长度 位运算 数组 二分查找 1+ Medium
2444 统计定界子数组的数目 队列 数组 滑动窗口 1+ Hard
2461 长度为 K 子数组中的最大和 数组 哈希表 滑动窗口 Medium
2516 每种字符至少取 K 个 哈希表 字符串 滑动窗口 Medium
2524 子数组的最大频率分数 🔒 数组 哈希表 数学 1+ Hard
2528 最大化城市的最小电量 贪心 队列 数组 3+ Hard
2537 统计好子数组的数目 数组 哈希表 滑动窗口 Medium
2555 两个线段获得的最多奖品 数组 二分查找 滑动窗口 Medium
2653 滑动子数组的美丽值 数组 哈希表 滑动窗口 Medium
2730 找到最长的半重复子字符串 字符串 滑动窗口 Medium
2743 计算没有重复字符的子字符串数量 🔒 哈希表 字符串 滑动窗口 Medium
2747 统计没有收到请求的服务器数目 数组 哈希表 排序 1+ Medium
2760 最长奇偶子数组 数组 滑动窗口 Easy
2762 不间断子数组 队列 数组 有序集合 3+ Medium
2779 数组的最大美丽值 数组 二分查找 排序 1+ Medium
2781 最长合法子字符串的长度 数组 哈希表 字符串 1+ Hard
2799 统计完全子数组的数目 数组 哈希表 滑动窗口 Medium
2831 找出最长等值子数组 数组 哈希表 二分查找 1+ Medium
2841 几乎唯一子数组的最大和 数组 哈希表 滑动窗口 Medium
2875 无限数组的最短子数组 数组 哈希表 前缀和 1+ Medium
2902 和带限制的子多重集合的数目 数组 哈希表 动态规划 1+ Hard
2904 最短且字典序最小的美丽子字符串 字符串 滑动窗口 Medium
2932 找出强数对的最大异或值 I 位运算 字典树 数组 2+ Easy
2935 找出强数对的最大异或值 II 位运算 字典树 数组 2+ Hard
2953 统计完全子字符串 哈希表 字符串 滑动窗口 Hard
2958 最多 K 个重复元素的最长子数组 数组 哈希表 滑动窗口 Medium
2962 统计最大元素出现至少 K 次的子数组 数组 滑动窗口 Medium
2968 执行操作使频率分数最大 数组 二分查找 前缀和 2+ Hard
2981 找出出现至少三次的最长特殊子字符串 I 哈希表 字符串 二分查找 2+ Medium
2982 找出出现至少三次的最长特殊子字符串 II 哈希表 字符串 二分查找 2+ Medium
3013 将数组分成最小总代价的子数组 II 数组 哈希表 滑动窗口 1+ Hard
3023 在无限流中寻找模式 I 🔒 数组 字符串匹配 滑动窗口 2+ Medium
3037 在无限流中寻找模式 II 🔒 数组 字符串匹配 滑动窗口 2+ Hard
3086 拾起 K 个 1 需要的最少行动次数 贪心 数组 前缀和 1+ Hard
3090 每个字符最多出现两次的最长子字符串 哈希表 字符串 滑动窗口 Easy
3095 或值至少 K 的最短子数组 I 位运算 数组 滑动窗口 Easy
3097 或值至少为 K 的最短子数组 II 位运算 数组 滑动窗口 Medium
3134 找出唯一性数组的中位数 数组 哈希表 二分查找 1+ Hard
3135 通过添加或删除结尾字符来同化字符串 🔒 字符串 二分查找 动态规划 2+ Medium
3191 使二进制数组全部等于 1 的最少操作次数 I 位运算 队列 数组 2+ Medium
3206 交替组 I 数组 滑动窗口 Easy
3208 交替组 II 数组 滑动窗口 Medium
3234 统计 1 显著的字符串的数量 字符串 枚举 滑动窗口 Medium
3254 长度为 K 的子数组的能量值 I 数组 滑动窗口 Medium
3255 长度为 K 的子数组的能量值 II 数组 滑动窗口 Medium
3258 统计满足 K 约束的子字符串数量 I 字符串 滑动窗口 Easy
3261 统计满足 K 约束的子字符串数量 II 数组 字符串 二分查找 2+ Hard
3297 统计重新排列后包含另一个字符串的子字符串数目 I 哈希表 字符串 滑动窗口 Medium
3298 统计重新排列后包含另一个字符串的子字符串数目 II 哈希表 字符串 滑动窗口 Hard
3305 元音辅音字符串计数 I 哈希表 字符串 滑动窗口 Medium
3306 元音辅音字符串计数 II 哈希表 字符串 滑动窗口 Medium
3318 计算子数组的 x-sum I [✓] 数组 哈希表 滑动窗口 1+ Easy
3321 计算子数组的 x-sum II [✓] 数组 哈希表 滑动窗口 1+ Hard
3323 通过插入区间最小化连通组 🔒 数组 二分查找 排序 1+ Medium
3325 字符至少出现 K 次的子字符串 I 哈希表 字符串 滑动窗口 Medium
3329 字符至少出现 K 次的子字符串 II 🔒 哈希表 字符串 滑动窗口 Hard
LCP 68 美观的花束 数组 滑动窗口 Medium
剑指 Offer 48 最长不含重复字符的子字符串 [✓] 哈希表 字符串 滑动窗口 Medium
剑指 Offer 59 滑动窗口的最大值 [✓] 队列 数组 滑动窗口 2+ Hard
剑指 Offer II 14 字符串中的变位词 [✓] 哈希表 双指针 字符串 1+ Medium
剑指 Offer II 15 字符串中的所有变位词 [✓] 哈希表 字符串 滑动窗口 Medium
剑指 Offer II 16 不含重复字符的最长子字符串 [✓] 哈希表 字符串 滑动窗口 Medium
剑指 Offer II 17 含有所有字符的最短字符串 哈希表 字符串 滑动窗口 Hard
剑指 Offer II 56 二叉搜索树中两个节点之和 数组 滑动窗口 Easy
剑指 Offer II 57 值和下标之差都在给定的范围内 数组 桶排序 有序集合 2+ Medium
剑指 Offer II 8 和大于等于 target 的最短子数组 [✓] 数组 二分查找 前缀和 1+ Medium
剑指 Offer II 9 乘积小于 K 的子数组 数组 滑动窗口 Medium
面试题 17.17 多次搜索 字典树 数组 哈希表 3+ Medium
面试题 17.18 最短超串 数组 哈希表 滑动窗口 Medium