LeetCode灵茶山艾府---滑动窗口题单
解答LeetCode用户灵茶山艾府,滑动窗口相关题单
鲨鱼肌之王
这个作者很懒,什么都没留下…
展开
-
LeetCode-2379. 得到 K 个黑块的最少涂色次数-1652. 拆炸弹-1052. 爱生气的书店老板-2841. 几乎唯一子数组的最大和-2461. 长度为 K 子数组中最大和
思路:基本上就是简单的滑动窗口,只是要记录一个map映射,用来保存当前窗口内有多少对不同的map映射,用来和m进行比较,只有当map映射数满足大于等于m时,采取尝试更新最终的maxSum。那么,要保证有一个长度为k的全为‘B’的字符串,就只需要把对应map中,键‘W’全改为‘B’即可。但是官方题解给出了一种更好的方式来求解,即将原来的code数组,扩容成原来的两倍,并且将code数组原来的数据直接赋值给后面一半,这样当访问数组第i+k个元素时,就不存在越界问题了。之后的操作就是普通的滑动窗口了。原创 2024-10-02 15:58:34 · 45 阅读 · 0 评论 -
LeetCode---1456. 定长子串中元音的最大数目---643. 子数组最大平均数 I---1343. 大小为 K 且平均值大于等于阈值的子数组数目---2090. 半径为 k 的子数组平均值
思想:维护一个长度为k的定长滑动窗口,每次对窗口执行后移操作,要检查移除窗口的元素是否为元音字母,以及加入窗口的元素是否为元音字母,然后更新当前窗口中的元音字母数量YUAN。之后检查YUAN与最终返回的maxYUAN的关系并赋值即可。空间:O(1)-只维护一个窗口右指针,无额外开销。时间:O(n)-对数组进行遍历操作。思路:基本与上一题一致。原创 2024-10-01 23:47:41 · 48 阅读 · 0 评论