Skip to content
Rain Hu's Workspace
Go back

[LeetCode] 2090. K Radius Subarray Averages

Rain Hu
class Solution {
public:
    vector<int> getAverages(vector<int>& nums, int k) {
        int n = nums.size();
        int m = 2*k+1;
        vector<int> res(n, -1);
        if (m > n) return res;
        long long sum = 0;
        for (int i = 0; i < m; i++) {
            sum += nums[i];
        }
        res[k] = sum / m;
        for (int i = m, j = k+1; i < n; i++, j++) {
            sum += (nums[i] - nums[i-m]);
            res[j] = sum / m;
        }
        return res;
    }
};

Share this post on:

Previous
[LeetCode] 2379. Minimum Recolors to Get K Consecutive Black Blocks
Next
[LeetCode] 1343. Number of Sub-arrays of Size K and Average Greater than or Equal to Threshold