算法学习
一、定长滑动窗口
1.1 基础
- 1456. 定长子串中元音的最大数目 1263
- 643. 子数组最大平均数 I
- 1343. 大小为 K 且平均值大于等于阈值的子数组数目
- 2090. 半径为 k 的子数组平均值
- 2379. 得到 K 个黑块的最少涂色次数
- 1052. 爱生气的书店老板
- 2841. 几乎唯一子数组的最大和
- 2461. 长度为 K 子数组中的最大和
- 1423. 可获得的最大点数
- 1652. 拆炸弹 做到 O(n)
- 1176. 健身计划评估(会员题)
- 1100. 长度为 K 的无重复字符子串(会员题)
- 1852. 每个子数组的数字种类数(会员题)
- 1151. 最少交换次数来组合所有的 1(会员题)
- 2107. 分享 K 个糖果后独特口味的数量(会员题)
- 1456. 定长子串中元音的最大数目 1263
- 643. 子数组最大平均数 I
- 1343. 大小为 K 且平均值大于等于阈值的子数组数目
- 2090. 半径为 k 的子数组平均值
- 2379. 得到 K 个黑块的最少涂色次数
- 1052. 爱生气的书店老板
- 2841. 几乎唯一子数组的最大和
- 2461. 长度为 K 子数组中的最大和
- 1423. 可获得的最大点数
- 1652. 拆炸弹 做到 O(n)
- 1176. 健身计划评估(会员题)
- 1100. 长度为 K 的无重复字符子串(会员题)
- 1852. 每个子数组的数字种类数(会员题)
- 1151. 最少交换次数来组合所有的 1(会员题)
- 2107. 分享 K 个糖果后独特口味的数量(会员题)
1.2 进阶(选做)
- 1461. 检查一个字符串是否包含所有长度为 K 的二进制子串 1504
- 2134. 最少交换次数来组合所有的 1 II 1748
- 1297. 子串的最大出现次数 1748
- 2653. 滑动子数组的美丽值 1786
- 1888. 使二进制字符串字符交替的最少反转次数 2006
- 567. 字符串的排列
- 438. 找到字符串中所有字母异位词
- 30. 串联所有单词的子串
- 2156. 查找给定哈希值的子串 2063
- 2953. 统计完全子字符串 2449
- 1016. 子串能表示从 1 到 N 数字的二进制串 做到 O(|s|)
- 683. K 个关闭的灯泡(会员题)做到 O(n)
- 2067. 等计数子串的数量(会员题)
- 2524. 子数组的最大频率分数(会员题)
1.3 其他(选做)
二、不定长滑动窗口
2.1 求最长/最大
- 3. 无重复字符的最长子串
- 3090. 每个字符最多出现两次的最长子字符串 1329
- 1493. 删掉一个元素以后全为 1 的最长子数组 1423
- 1208. 尽可能使字符串相等 1497
- 2730. 找到最长的半重复子字符串 1502
- 904. 水果成篮 1516
- 1695. 删除子数组的最大得分 1529
- 2958. 最多 K 个重复元素的最长子数组 1535
- 2779. 数组的最大美丽值 1638
- 2024. 考试的最大困扰度 1643
- 1004. 最大连续 1 的个数 III 1656
- 1658. 将 x 减到 0 的最小操作数 1817
- 1838. 最高频元素的频数 1876
- 2516. 每种字符至少取 K 个 1948
- 2831. 找出最长等值子数组 1976
- 2271. 毯子覆盖的最多白色砖块数 2022
- 2106. 摘水果 2062
- 2555. 两个线段获得的最多奖品 2081
- 2009. 使数组连续的最少操作数 2084
- 2781. 最长合法子字符串的长度 2204
- 2968. 执行操作使频率分数最大 2444
本文中所有算法思想来源于作者:灵茶山艾府
B站链接:https://space.bilibili.com/206214?spm_id_from=333.337.0.0
Github链接:https://github.com/EndlessCheng/codeforces-go/blob/master/leetcode/README.md