1207. Unique Number of Occurrences
Given an array of integers arr, return true if the number of occurrences of each value in the array is unique or false otherwise.
정수 배열 arr
주어지면 배열에 있는 동일한 값들을 모아 그 개수(발생횟수)를 세고 각 값들 간에 발생횟수를 비교해 겹치지 않고 유일하면 true
, 그렇지 않으면 false
를 반환합니다.
Input: arr = [1,2,2,1,1,3]
Output: true
Explanation: 값 1은 3번, 값 2는 2번 그리고 3은 1번의 발생횟수를 가지고 있습니다. 동일한 발생횟수를 가지고 있는 값은 없습니다.
Input: arr = [1,2]
Output: false
Input: arr = [-3,0,1,-3,1,1,1,-3,10,0]
Output: true
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
class Solution {
public boolean uniqueOccurrences(int[] arr) {
Map<Integer,Integer> occurrences = new HashMap<>();
for(int i=0;i<arr.length;i++){
if(!occurrences.containsKey(arr[i])){
occurrences.put(arr[i], 1);
}
else{
occurrences.put(arr[i], occurrences.get(arr[i])+1);
}
}
Collection<Integer> value = occurrences.values();
if(value.size() == value.stream().distinct().count()){
return true;
}
return false;
}
}