Skip to content

Commit 5e8f1e5

Browse files
add 2090
1 parent 97aef60 commit 5e8f1e5

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ _If you like this project, please leave me a star._ ★
88

99
| # | Title | Solutions | Video | Difficulty | Tag
1010
|-----|----------------|---------------|--------|-------------|-------------
11+
|2090|[K Radius Subarray Averages](https://leetcode.com/problems/k-radius-subarray-averages/)|[Java](../master/src/main/java/com/fishercoder/solutions/_2090.java) ||Medium||
1112
|2089|[Find Target Indices After Sorting Array](https://leetcode.com/problems/find-target-indices-after-sorting-array/)|[Java](../master/src/main/java/com/fishercoder/solutions/_2089.java) ||Easy||
1213
|2086|[Minimum Number of Buckets Required to Collect Rainwater from Houses](https://leetcode.com/problems/minimum-number-of-buckets-required-to-collect-rainwater-from-houses/)|[Java](../master/src/main/java/com/fishercoder/solutions/_2086.java) ||Medium||
1314
|2085|[Count Common Words With One Occurrence](https://leetcode.com/problems/count-common-words-with-one-occurrence/)|[Java](../master/src/main/java/com/fishercoder/solutions/_2085.java) ||Easy||
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.fishercoder.solutions;
2+
3+
public class _2090 {
4+
public static class Solution1 {
5+
public int[] getAverages(int[] nums, int k) {
6+
if (k == 0) {
7+
return nums;
8+
}
9+
long[] preSums = new long[nums.length];
10+
preSums[0] = nums[0];
11+
for (int i = 1; i < nums.length; i++) {
12+
preSums[i] = preSums[i - 1] + nums[i];
13+
}
14+
int[] ans = new int[nums.length];
15+
for (int i = 0; i < nums.length; i++) {
16+
if (i - k < 0) {
17+
ans[i] = -1;
18+
} else if (i + k >= nums.length) {
19+
ans[i] = -1;
20+
} else {
21+
if (i - k == 0) {
22+
ans[i] = (int) (preSums[i + k] / (2 * k + 1));
23+
} else {
24+
ans[i] = (int) ((preSums[i + k] - preSums[i - k - 1]) / (2 * k + 1));
25+
}
26+
}
27+
}
28+
return ans;
29+
}
30+
}
31+
}

0 commit comments

Comments
 (0)