题目
我的思路
我想是建一个桶,然后比较桶中的数,但代码写出来其实后面比较“独一无二”的时候逻辑行不通。
之后去看了题解。
class Solution {
public:
bool uniqueOccurrences(vector<int>& arr) {
unordered_map<int, int> occur;
for (const auto& i : arr) {
occur[i]++; //第一次的话就初始化(key=i, value=0),然后value++
}
unordered_set<int> times; //set的特性:不会有重复的值
for (const auto& x : occur) {
times.insert(x.second);
}
return occur.size()==times.size();
}
};
这是对题解的一个简单的记录:一种理解的记录
新知识
新的数据类型
unordered_map<int, int> occur; // (key, value)
unordered_set<int> times; //set的特性:不会有重复的值
用到的用法
occur[i]++; //第一次的话就初始化(key=i, value=0),然后value++
times.insert(x.second); //将 x 的 value 加入到 times 中