大家好,我是开车的阿Q,自动驾驶的时代已经到来,没时间解释了,快和阿Q一起上车。作为自动驾驶系统工程师,必须要有最好的C++基础,让我们来一起刷题吧。
题目考察的知识点
本题考察如何使用哈希表来统计每种体重的牛的数量,并判断数量是否各不相同。
题目解答方法的文字分析
我们可以使用哈希表来统计每种体重的牛的数量,然后检查是否有重复的数量出现。
具体步骤如下:
- 使用unordered_map记录每种体重的牛的数量,键为体重,值为数量。
- 遍历arr数组,统计每种体重的牛的数量。
- 使用unordered_set记录已经统计过的数量,如果有重复的数量出现,返回false。
- 如果没有重复的数量,返回true。
本题解析所用的编程语言 (C++)
C++
完整且正确的编程代码
class Solution {
public:
bool uniqueOccurrences(vector<int>& arr) {
unordered_map<int, int> count_map; // 记录每种体重的牛的数量
// 统计每种体重的牛的数量
for (int weight : arr) {
count_map[weight]++;
}
unordered_set<int> occurrences; // 记录已经统计过的数量
// 检查是否有重复的数量出现
for (auto& pair : count_map) {
int count = pair.second;
if (occurrences.count(count) > 0) {
return false;
}
occurrences.insert(count);
}
return true;
}
};

京公网安备 11010502036488号