[LeetCode]1207. 獨一無二的出現次數

weixin_40468534發表於2020-10-28

1207. 獨一無二的出現次數

/* 給你一個整數陣列 arr,請你幫忙統計陣列中每個數的出現次數。
 如果每個數的出現次數都是獨一無二的,就返回 true;否則返回 false。*/

// 用一個 map 將數字和其出現的次數統計一下
// 然後將所有的 map 中儲存的數字出現的次數放進一個 set 中
// 若有相同的次數,則 set 因其元素的唯一性,會造成 set 的 size 小於 map 的 size , 返回 false
// 如沒有出現相同次數的數字,則 set 的 size 等於 map 的 size ,返回 true

class Solution {
public:
    bool uniqueOccurrences(vector<int>& arr) {
        map<int,int> m;
        set<int> s;
        for (auto i : arr) m[i]++;
        for (auto i : m) s.insert(i.second);
        return m.size() == s.size();
    }
};

相關文章