Skip to content

Commit 0b25c20

Browse files
solves #2465: Number of Distinct Averages in java
1 parent 189e886 commit 0b25c20

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

Diff for: README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -778,7 +778,7 @@
778778
| 2451 | [Odd String Difference](https://leetcode.com/problems/odd-string-difference) | [![Java](assets/java.png)](src/OddStringDifference.java) | |
779779
| 2455 | [Average Value of Even Numbers That Are Divisible by Three](https://leetcode.com/problems/average-value-of-even-numbers-that-are-divisible-by-three) | [![Java](assets/java.png)](src/AverageValueOfEvenNumbersThatAreDivisibleByThree.java) | |
780780
| 2460 | [Apply Operations to an Array](https://leetcode.com/problems/apply-operations-to-an-array) | [![Java](assets/java.png)](src/ApplyOperationsToAnArray.java) | |
781-
| 2465 | [Number of Distinct Averages](https://leetcode.com/problems/number-of-distinct-averages) | | |
781+
| 2465 | [Number of Distinct Averages](https://leetcode.com/problems/number-of-distinct-averages) | [![Java](assets/java.png)](src/NumberOfDistinctAverages.java) | |
782782
| 2466 | [Count Ways To Build Good Strings](https://leetcode.com/problems/count-ways-to-build-good-strings) | | |
783783
| 2475 | [Number of Unequal Triplets in Array](https://leetcode.com/problems/number-of-unequal-triplets-in-array) | | |
784784
| 2481 | [Minimum Cuts to Divide a Circle](https://leetcode.com/problems/minimum-cuts-to-divide-a-circle) | | |

Diff for: src/NumberOfDistinctAverages.java

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// https://leetcode.com/problems/number-of-distinct-averages
2+
// T: O(Nlog(N))
3+
// S: O(N)
4+
5+
import java.util.Arrays;
6+
import java.util.HashSet;
7+
import java.util.Set;
8+
9+
public class NumberOfDistinctAverages {
10+
public int distinctAverages(int[] nums) {
11+
final Set<Integer> set = new HashSet<>();
12+
Arrays.sort(nums);
13+
14+
for (int i = 0 ; i < nums.length / 2 ; i++) {
15+
int sum = nums[i] + nums[nums.length - 1 - i];
16+
set.add(sum);
17+
}
18+
19+
return set.size();
20+
}
21+
}

0 commit comments

Comments
 (0)