大家好,我是开车的阿Q,自动驾驶的时代已经到来,没时间解释了,快和阿Q一起上车。作为自动驾驶系统工程师,必须要有最好的C++基础,让我们来一起刷题吧。

题目考察的知识点

本题考察如何使用哈希表来统计每种体重的牛的数量,并判断数量是否各不相同。

题目解答方法的文字分析

我们可以使用哈希表来统计每种体重的牛的数量,然后检查是否有重复的数量出现。

具体步骤如下:

  1. 使用unordered_map记录每种体重的牛的数量,键为体重,值为数量。
  2. 遍历arr数组,统计每种体重的牛的数量。
  3. 使用unordered_set记录已经统计过的数量,如果有重复的数量出现,返回false。
  4. 如果没有重复的数量,返回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;
    }
};

您的关注、点赞、收藏就是我创作的动力,三连支持阿Q!