Skip to content

Commit 2cb5e68

Browse files
solves unique number of occurrences
1 parent f21a066 commit 2cb5e68

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

Diff for: README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@
317317
| 1189 | [Maximum Number of Balloons](https://leetcode.com/problems/maximum-number-of-balloons) | [![Java](assets/java.png)](src/MaximumNumberOfBalloons.java) | |
318318
| 1196 | 🔒 [How Many Apples Can You Put into the Basket](https://leetcode.com/problems/how-many-apples-can-you-put-into-the-basket) | | |
319319
| 1200 | [Minimum Absolute Difference](https://leetcode.com/problems/minimum-absolute-difference) | [![Java](assets/java.png)](src/MinimumAbsoluteDifference.java) | |
320-
| 1207 | [Unique Number of Occurrences](https://leetcode.com/problems/unique-number-of-occurrences) | | |
320+
| 1207 | [Unique Number of Occurrences](https://leetcode.com/problems/unique-number-of-occurrences) | [![Java](assets/java.png)](src/UniqueNumberOfOccurrences.java) | |
321321
| 1213 | [Intersection of Three Sorted Arrays](https://leetcode.com/problems/intersection-of-three-sorted-arrays) | | |
322322
| 1217 | [Play With Chips](https://leetcode.com/problems/play-with-chips) | | |
323323
| 1221 | [Split A String In Balanced Strings](https://leetcode.com/problems/split-a-string-in-balanced-strings) | | |

Diff for: src/UniqueNumberOfOccurrences.java

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import java.util.Collection;
2+
import java.util.HashMap;
3+
import java.util.HashSet;
4+
import java.util.Map;
5+
import java.util.Set;
6+
7+
public class UniqueNumberOfOccurrences {
8+
public boolean uniqueOccurrences(int[] array) {
9+
Map<Integer, Integer> frequencies = getFrequencies(array);
10+
return areUnique(frequencies.values());
11+
}
12+
13+
private Map<Integer, Integer> getFrequencies(int[] array) {
14+
Map<Integer, Integer> frequencies = new HashMap<>();
15+
for (int element : array) {
16+
frequencies.put(element, frequencies.getOrDefault(element, 0) + 1);
17+
}
18+
return frequencies;
19+
}
20+
21+
private boolean areUnique(Collection<Integer> numbers) {
22+
Set<Integer> values = new HashSet<>();
23+
for (int number : numbers) {
24+
if (values.contains(number)) return false;
25+
values.add(number);
26+
}
27+
return true;
28+
}
29+
}

0 commit comments

Comments
 (0)