在Python中查找平均值大于或等于目标的K长度子列表的程序
假设我们有一个列表nums和两个额外的值k和target,我们必须找到其大小为k且平均值≥目标的子列表的数量。
因此,如果输入如下nums =[1,10,5,6,7] k = 3 target = 6,则输出为2,因为子列表 [1,10,7] 的平均值为6, [10,5,6] 的平均值为7。
为了解决这个问题,我们将按照以下步骤进行:
- target := target * k
- sum := 0,ans := 0
- 对于nums中的每个索引i和数字n,执行以下操作
- 如果i >= k,那么
- sum := sum – nums [i-k]
- sum := sum + n
- 如果i >=(k – 1) ,那么
- 如果sum >= target,那么
- ans := ans + 1
- 如果i >= k,那么
- 返回 ans
让我看看以下实现以获得更好的理解: