2248.多个数组求交集
思路
用一个标记数组,标记元素出现的次数,可以看到数组元素的范围是 1 - 1000,数组不大,可以利用空间换时间的特点记录每个元素出现的次数,最后遍历一次标记数组,选择出出现次数大于二维数组 nums 长度的元素,加入到答案数组中即可。
代码
class Solution {
public:
    static const int N = 1e3 + 10;
    int a[N];
    vector<int> intersection(vector<vector<int>>& nums) {
        for (int i = 0 ; i < nums.size(); i++) {
            for (int j = 0; j < nums[i].size(); j++) {
                a[nums[i][j]]++;
            }
        }
        vector<int> res;
        for (int i = 0; i < 1010; i++ ) {
            if (a[i] >= nums.size())    res.push_back(i);
        }
        return res;
    }
};