大家好,我是开车的阿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; } };