大小为 K 且平均值大于等于阈值的子数组数目(滑动窗口解法)
大小为 K 且平均值大于等于阈值的子数组数目(滑动窗口解法)
题目描述
给你一个整数数组 arr
和两个整数 k
和 threshold
。
请你返回长度为 k
且平均值大于等于 threshold
的子数组数目。
示例:
输入:
arr
= [ 2, 2, 2, 2, 5, 5, 5, 8 ],k
= 3,threshold
= 4
输出:3
解释:子数组 [ 2, 5, 5 ], [ 5, 5, 5 ] 和 [ 5, 5, 8 ] 的平均值分别为 4,5 和 6 。其他长度为 3 的子数组的平均值都小于 4 (threshold
的值)。
提示:
1 <=
arr.length
<= 10^5
1 <=arr[i]
<= 10^4
1 <=k
<=arr.length
0 <=threshold
<= 10^4
题解
滑动窗口:加尾去头,逐次向后滑动,利用中间解。本质上是动态规划。
依题意,若窗口中数值总和大于 k
*threshold
则符合要求。
代码如下:
1 | class Solution: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 邓小闲的小楼!
评论