K Radius Subarray Averages LeetCode solution in Java

1
class Solution {
2
public int[] getAverages(int[] nums, int k) {
3
if (k == 0) return nums;
4

5
int N = nums.length;
6
long[] sum = new long[N];
7
sum[0] = nums[0];
8

9
for (int i = 1; i < N; i++) sum[i] = sum[i - 1] + nums[i]; // Sum of 0 - ith element at sum[i]
10

11
int[] ret = new int[N];
12
Arrays.fill(ret, -1);
13

14
for (int i = k; i < N - k; i++) // Beyond this range, there are less than k elements so -1
15
{
16
long temp = (sum[i + k] - sum[i - k] + nums[i - k]) / (k * 2 + 1);
17
ret[i] = (int) temp;
18
}
19
return ret;
20
}
21
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0