大家好,我是开车的阿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号
京公网安备 11010502036488号