1343. 大小为 K 且平均值大于等于阈值的子数组数目
目录
- 一、题目
- 二、思路
- 2.1 解题思路
- 2.2 代码尝试
- 2.3 疑难问题
- 三、解法
- 四、收获
- 4.1 心得
- 4.2 举一反三
一、题目
二、思路
2.1 解题思路
在遍历时维护一个统计的变量,用来统计满足条件的子数组个数
2.2 代码尝试
class Solution {
public:int numOfSubarrays(vector<int>& arr, int k, int threshold) {int sum_arr=0;//统计子数组数目int sum=0;int num=threshold*k;if(arr.size()<k){return 0;}for(int i=0;i<k;i++){sum+=arr[i];}if(sum >= num){sum_arr++;}for(int i=k;i<arr.size();i++){sum-=arr[i-k];sum+=arr[i];if(sum >= num){sum_arr++;}}return sum_arr;}
};
秒了
2.3 疑难问题
三、解法
四、收获
4.1 心得
4.2 举一反三
基本滑动窗口的问题,出简单或者中等题就是用变量来维护。统计来更新变量。难一点的话就是维护一个数据结构,比如优先队列、哈希表这种,边滑动边出入队更新数据结构,然后获取结构中的满足要求的值。