zoukankan      html  css  js  c++  java
  • 【leetcode】1343. Number of Sub-arrays of Size K and Average Greater than or Equal to Threshold

    题目如下:

    Given an array of integers arr and two integers k and threshold.

    Return the number of sub-arrays of size k and average greater than or equal to threshold.

    Example 1:

    Input: arr = [2,2,2,2,5,5,5,8], k = 3, threshold = 4
    Output: 3
    Explanation: Sub-arrays [2,5,5],[5,5,5] and [5,5,8] have averages 4, 5 and 6 respectively. All other sub-arrays of size 3 have averages less than 4 (the threshold).
    

    Example 2:

    Input: arr = [1,1,1,1,1], k = 1, threshold = 0
    Output: 5
    

    Example 3:

    Input: arr = [11,13,17,23,29,31,7,5,2,3], k = 3, threshold = 5
    Output: 6
    Explanation: The first 6 sub-arrays of size 3 have averages greater than 5. Note that averages are not integers.
    

    Example 4:

    Input: arr = [7,7,7,7,7,7,7], k = 7, threshold = 7
    Output: 1
    

    Example 5:

    Input: arr = [4,4,4,4], k = 4, threshold = 1
    Output: 1

    Constraints:

    • 1 <= arr.length <= 10^5
    • 1 <= arr[i] <= 10^4
    • 1 <= k <= arr.length
    • 0 <= threshold <= 10^4

    解题思路:滑动窗口问题,把每一个区间的和都算出来吧。

    代码如下:

    class Solution(object):
        def numOfSubarrays(self, arr, k, threshold):
            """
            :type arr: List[int]
            :type k: int
            :type threshold: int
            :rtype: int
            """
            res = 0
            count = 0
            for i in range(len(arr)):
                if i < k - 1 :
                    count += arr[i]
                elif i == k - 1:
                    count += arr[i]
                    if count / k >= threshold:
                        res += 1
                else:
                    count += arr[i]
                    count -= arr[i-k]
                    if count / k >= threshold:
                        res += 1
            return res
  • 相关阅读:
    03-django模型(1)
    Django02 Django基础知识
    jquery
    Django01 web http 基础
    Python之协程
    Python之线程
    进程 操作
    CSS
    UVALive-3268 Jamie's Contact Groups (最大流,网络流建模)
    UVA-10806 Dijkstra, Dijkstra. (最小费用流,网络流建模)
  • 原文地址:https://www.cnblogs.com/seyjs/p/12287791.html
Copyright © 2011-2022 走看看