Skip to content

Commit d7f4113

Browse files
authored
Create k-radius-subarray-averages.cpp
1 parent e74f25c commit d7f4113

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

C++/k-radius-subarray-averages.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Time: O(n)
2+
// Space: O(1)
3+
4+
class Solution {
5+
public:
6+
vector<int> getAverages(vector<int>& nums, int k) {
7+
const int l = 2 * k + 1;
8+
int64_t total = 0;
9+
vector<int> result(size(nums), -1);
10+
for (int i = 0; i < size(nums); ++i) {
11+
total += nums[i];
12+
if (i - l >= 0) {
13+
total -= nums[i - l];
14+
}
15+
if (i >= l - 1) {
16+
result[i - k] = total / l;
17+
}
18+
}
19+
return result;
20+
}
21+
};

0 commit comments

Comments
 (0)