LeetCode 75: 1207. Unique Number of Occurrences

김준수·2024년 3월 11일
0

LeetCode 75

목록 보기
21/63
post-custom-banner

1207. Unique Number of Occurrences

Description

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를 반환합니다.

Example 1:

Input: arr = [1,2,2,1,1,3]
Output: true
Explanation: 값 1은 3번, 값 2는 2번 그리고 3은 1번의 발생횟수를 가지고 있습니다. 동일한 발생횟수를 가지고 있는 값은 없습니다.

Example 2:

Input: arr = [1,2]
Output: false

Example 3:

Input: arr = [-3,0,1,-3,1,1,1,-3,10,0]
Output: true

Constraints:

  • 1 <= arr.length <= 1000
  • -1000 <= arr[i] <= 1000

Solution


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;
    }
}

post-custom-banner

0개의 댓글