滑动窗口
新名字的故事
这个作者很懒,什么都没留下…
展开
-
992. K 个不同整数的子数组
题目描述:给定一个正整数数组 A,如果 A 的某个子数组中不同整数的个数恰好为 K,则称 A 的这个连续、不一定独立的子数组为好子数组。(例如,[1,2,3,1,2] 中有 3 个不同的整数:1,2,以及 3。)返回 A 中好子数组的数目。解题思路:遍历每一个位置作为固定的右边界,找到满足好子数组条件的左边界的区间范围,整个区间的长度就是以当前位置为右边界符合条件的好子数组的数量,代码如下:class Solution: def subarraysWithKDistinct(self, A:原创 2021-02-09 12:31:39 · 293 阅读 · 0 评论 -
480. 滑动窗口中位数
题目描述:中位数是有序序列最中间的那个数。如果序列的长度是偶数,则没有最中间的数;此时中位数是最中间的两个数的平均数。例如:[2,3,4],中位数是 3[2,3],中位数是 (2 + 3) / 2 = 2.5给你一个数组 nums,有一个长度为 k 的窗口从最左端滑动到最右端。窗口中有 k 个数,每次窗口向右移动 1 位。你的任务是找出每次窗口移动后得到的新窗口中元素的中位数,并输出由它们组成的数组。解题思路:用两个优先级队列small和large来存储滑动窗口内的数据,small是一个大顶推存储原创 2021-02-03 22:43:09 · 271 阅读 · 0 评论