- 難度分: 1358
- 這題一樣是定長度的 sliding window,但要做一下轉換,半徑為
k
,代表 window_size 為2k+1
。
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;
}
};